-
プールに関数と引数を渡す方法: multiprocessingプールに関数と引数を渡すには、
apply_async
メソッドを使用します。以下は例です。from multiprocessing import Pool def my_function(arg1, arg2): # 関数の処理 if __name__ == '__main__': pool = Pool() result = pool.apply_async(my_function, (arg1_value, arg2_value)) pool.close() pool.join()
apply_async
メソッドの第2引数には、関数に渡す引数のタプルを指定します。 -
クラスメソッドをプールで実行する方法: クラスメソッドをmultiprocessingプールで実行する場合、
partial
関数を利用して引数をバインドすることができます。以下は例です。from multiprocessing import Pool from functools import partial class MyClass: @classmethod def my_method(cls, arg1, arg2): # メソッドの処理 if __name__ == '__main__': pool = Pool() func = partial(MyClass.my_method, arg2=arg2_value) result = pool.apply_async(func, (arg1_value,)) pool.close() pool.join()
partial
関数を使用して、my_method
メソッドのarg2
引数をバインドし、apply_async
メソッドで実行します。
これらの方法を使用すると、multiprocessingプールで追加の引数を渡すことができます。必要に応じてこれらのコード例をカスタマイズして使用してください。