0
私は1つのキューからアイテムを読み込み、それを修正して2番目のキューにプッシュするプログラムに取り組んでいます。これは、計算コストの高い修正機能のために複数のCPUで行う必要があります。プログラムは印刷ループ印刷(qOut.get())に貼り付けられています。Pythonマルチプロセッシングキューがstucked
from multiprocessing import Pool, Queue
def update(qIn,qOut):
temp=qIn.get()
#this is going to be computationaly expensive function
qOut.put(temp+1)
def main():
#input queue
qIn=Queue()
#output queue
qOut=Queue()
#set input queue
for i in range(10):
qIn.put(i)
#set number of CPU cores
p=Pool(6)
#update each item in qIn and push it to qOut
for i in range(10):
p.apply_async(update, args=(qIn,qOut))
p.close()
p.join()
#check qOut
for i in range(10):
print(qOut.get())
if __name__ == '__main__':
main()