🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2968閲覧

python multiprocessing.poolとmultiprocessing.Queueを用いた並列処理がうまく動かない

SaikoSaiko

総合スコア15

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/11/22 07:41

題名の通り、multiprocessing.Poolとmultiprocessing.Queueを用いた並列処理がうまく動きません。

実現したいことは、multiprocessing.Poolを用いて複数のプロセスを走らせ、それぞれのプロセスでの処理結果を親プロセスでまとめて出力することです。
実行したプログラムと、実行結果は下記に記載しております。

実行結果では、最後に

count 1 count 2

と出力されたまま、実行が終わりませんでした。

実行環境
・Windows コマンドプロンプト
・python 3.6.3

実行したソースコード

python

1 2import multiprocessing 3import numpy as np 4 5def count(a,q): 6 print("count") 7 print(a) 8 q.put[a] 9 10if __name__ == "__main__": 11 12 13 p = multiprocessing.Pool(2) # 同時に最大4個の子プロセス 14 m = multiprocessing.Manager() 15 q = m.Queue() 16 range_array = np.array([1,2]) 17 print("start") 18 for k in range_array: 19 print("function:"+str(k)) 20 p.apply_async(count, args=(k,q)) 21 22 23 24 print('Waiting for all subprocesses done...') 25 print(q.get()) 26 p.close() 27 p.join() 28 29 print('all process is done...')

実行結果

cmd

1$> python test.py 2start 3function:1 4function:2 5Waiting for all subprocesses done... 6count 71 8count 92

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

q.put[a]

q.put(a)

ではないでしょうか。

投稿2020/11/22 08:25

sfdust

総合スコア1137

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SaikoSaiko

2020/11/22 08:28

本当にばからしいミスで、、、、 sfdustさんのおかげで解決できました! 本当に、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問