この質問の理由を明確にするために:
同じ名前の 2 つのモジュールを使用すると混乱します。それらを区別するものは何を表しているのでしょうか?
一方が解決できて他方が解決できない、またはその逆のタスクは何ですか?
この質問の理由を明確にするために:
同じ名前の 2 つのモジュールを使用すると混乱します。それらを区別するものは何を表しているのでしょうか?
一方が解決できて他方が解決できない、またはその逆のタスクは何ですか?
asyncio
ドキュメントは違いをカバーしています:
クラス
asyncio.Future(*, loop=None)
このクラスは とほぼ互換性があり
concurrent.futures.Future
ます。違い:
result()
またexception()
、timeout 引数を取らず、future がまだ完了していない場合に例外を発生させません。- に登録されたコールバック
add_done_callback()
は、常にイベント ループの を介して呼び出されますcall_soon_threadsafe()
。- このクラスは、パッケージ内の
wait()
およびas_completed()
関数と互換性がありません。concurrent.futures
このクラスはスレッドセーフではありません。
基本的に、 または を使用しているThreadPoolExecutor
場合、またはをスレッドベースまたはプロセスベースの同時実行に直接ProcessPoolExecutor
使用したい場合は、 を使用します。を使用している場合は、 を使用してください。Future
concurrent.futures.Future
asyncio
asyncio.Future