6
私は複数の引数を取る関数を持っていますが、そのうちのいくつかはブール値です。私はこれをマルチプロセッシングpool.apply_async
に渡そうとしていて、いくつかの引数に名前をつけて渡したいと思っています。ここでブール型引数と複数引数を持つPythonマルチプロセッシング
は、私が働いているスクリプトの例です:
from multiprocessing import Pool
def testFunc(y, x, calcY=True):
if calcY == True:
return y*y
elif calcY == False:
return x*x
if __name__ == "__main__":
p = Pool()
res = p.apply_async(testFunc, args = (2, 4, False))
print res.get()
これは動作しますが、私のようなものにres = p.apply_async(testFunc, args = (2, 4, False))
の変更についての興味:
res = p.apply_async(testFunc, args = (2, 4, calcY = False))
あなたはmap_async(testFunc、 'args =(2,4)、kwargs = dict(calcY = False))'を試してみましたか? –
'map_async'は' args'と 'kwargs'のどちらのキーワードも取っていません。あなたのサンプルコードでTypeErrorが発生しているはずです。 – unutbu
@unutbu申し訳ありませんが、それはapply_asyncだったはずです。これを反映するようにコードを編集しました。 – user1074057