from multiprocessing import Pool from contextlib import closing def sample_func_1(initial_num): print('sample_func_1', ', initial_num:', initial_num, 'started.') for i in range(1): initial_num += 1 print('sample_func_1 ended.') return initial_num def sample_func_2(initial_num): print('sample_func_2', ', initial_num:', initial_num, 'started.') for i in range(1): initial_num += 1 print('sample_func_2 ended.') return initial_num def sample_func_3(initial_num): print('sample_func_3', ', initial_num:', initial_num, 'started.') for i in range(1): initial_num += 1 print('sample_func_3 ended.') return initial_num initial_num_list = list(range(3)) with closing(Pool(4)) as p: map_result_1 = p.starmap_async( func=sample_func_1, iterable=initial_num_list) map_result_2 = p.starmap_async( func=sample_func_2, iterable=initial_num_list) map_result_3 = p.starmap_async( func=sample_func_3, iterable=initial_num_list) result_list_1 = map_result_1.get() result_list_2 = map_result_2.get() result_list_3 = map_result_3.get() コード
これを実行したところ下記のエラーが出てしまいました。
AttributeError: 'Pool' object has no attribute 'starmap_async'
引数を増やしたいという質問ですか?
https://ja.meta.stackoverflow.com/questions/2701/
XY問題の典型っぽさを感じます。解決したい問題や得たい結果の方が想像できないです。
(今絵を描くのに鉛筆を使っていますが彫刻刀でやるにはどうしたらいいでしょうか、と聞かれている感じ)
あと最低限コードが読めるよう実行できるようにしてほしいです。
https://teratail.com/help/question-tips#questionTips3-5-1
編集から<code>ボタンです。
ご指摘ありがとうございます。
用語等もうる覚えで、質問の仕方さえできていませんでした。
何かありましたら、すぐ対応いたします。
よろしくお願いします。
再現しないですね……。(別のエラーにはなりますが)
冒頭に
import sys
print(sys.executable)
あたりを入れて自分が思っている場所/バージョンのPythonが動いているか確認してみるのがいいかもしれません。
わかりました。ご丁寧にありがとうございます。
あなたの回答
tips
プレビュー