質問: ``` import multiprocessing as my def washer(dishers, output): for dish in dishes: print(“washing”, dish) def dryer(input): while True: dish=input.get() print(“Drying”, dish) input.task_done() dish_queue=mp.JoinableQueue() dish_proc=mp.Process(target=dryer, args=(dish_queue, )) dryer_proc.deamon=True dryer_proc.start() dishers=[“salad”, “bread”, “entree”, “dessert”] waher(dishers, dish_queue) dish_queue.join() ``` この並行処理の説明をしてくださるとありがたいです。特にわからないのがなぜ(target=dryer)のところがなぜ(dryer)だけではダメなんでしょうか?
回答: > > なぜ(target=dryer)のところがなぜ(dryer)だけではダメ > > > リファレンス さえ見ればなぜそうなのか容易にわかります。 > > class multiprocessing.Process(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None) > > ... > > > 第一引数はtargetではなくgroupです。 これは並列処理云々とは別次元の話のように思います。 公式のドキュメント()はブックマークに登録しておられますか? Pythonプログラマーは必ずこのURLを登録しているはずですし、ライブラリーリファレンスは枕の下にいつも置いてあるはず(?)です。もしまだ登録しておられないなら、今すぐ登録を! (ありきたりなCMの台詞みたいですが...) > > この並行処理の説明 > > > 無償のQ&Aサイトでは「ほとんど何もわからないけど詳しく説明してほしい(A)」と受け取られかねない漠然とした質問は受けがよくなく単にスルーされてしまうこともしばしばです。ものごとを理解するには「ほんんどあと一歩のところまで前提知識を持つ」必要がありますが、漠然とした質問はその状態に達していない質問者という印象を与えるのです。面倒でも ・自分がどこまで理解しているか ・どこに疑問点があるか をなるべく具体的に(target=がなぜ必要?のように)示した方がよいと思います。