最近、concurrent.futures を扱っています。1 つの executor でいくつかの funcs を送信しました。どの future が最初に返されるかを知りたいです。
with concurrent.futures.ThreadPoolExecutor(max_workers=workers) as executor:
future_action = executor.submit(func_action, data)
future_monitor = executor.submit(func_monitor)
今が主要部分です。future_monitor がいつ終了するかを知りたいので、他のすべてのアクション先物を終了します。
ドキュメントで次のことを見つけました( https://docs.python.org/dev/library/concurrent.futures.html#concurrent.futures.as_completed ):
concurrent.futures.wait(fs, timeout=None, return_when=ALL_COMPLETED)
、だから私は return_when=FIRST_COMPLETED を待つことができますが、それが実際にモニターの未来であることをどのように保証できますか?
事前にtnx!