最終更新:2021-01-21 (木) 05:56:57 (1d)  

Python/concurrent.futures.ProcessPoolExecutor
Top / Python / concurrent.futures.ProcessPoolExecutor

https://docs.python.org/ja/3/library/concurrent.futures.html#concurrent.futures.ProcessPoolExecutor

メモ

  • __main__ モジュールはワーカサブプロセスでインポート可能でなければなりません。
  • すなわち、ProcessPoolExecutor?は対話的インタープリタでは動きません。

継承

  • Python/concurrent.futures.Executor?

メソッド

Executer.submit?(fn, /, *args, **kwargs)

  • 呼び出し可能オブジェクト fn を、 fn(*args **kwargs) として実行するようにスケジュールし、呼び出し可能オブジェクトの実行を表現する Future オブジェクトを返します。

Executer.map?

Python/concurrent.futures.Future

  • Executor.submit?() で生成

Future.result?

モジュール関数

メモ

  • 関数の引数および戻り値は、pickleを使ってシリアライズ可能なオブジェクトでなければならない。
  • 関数自体もプロセス間で渡せなければならない。インスタンスメソッドはだめ。ラムダ式はOK。
  • 関数の中で副作用としてグローバル変数を書き換えるなどしても、呼び元のプロセスには反映されない。

参考