0
Pythonで再帰コルーチン関数を作成するには?非同期にタスクを実行する再帰関数を作成するにはどうすればよいですか?
double(10)
が関数が呼び出されたときである
import asyncio
def fetch_url(x):
if isinstance(x, list):
return map(fetch_url, x)
else:
return parsed_url(x)
は同期とdouble([2,3,4])
が、それは非同期に実行でしょう呼び出されたときにしながら実行されます。
は、それが内部的に非同期的に自分自身を呼び出すことが可能である機能の正常な機能を持つことは可能ですか?つまり、上記のコードでは、fetch_urlはコルーチンであり、単一のURLがフェッチする必要がある場合でもループ内で実行する必要があります。この関数を常に呼び出し可能にする方法はありますか?内部的には非同期で理想的には再帰的ですか? – Greg
'fetch_url(url)'はそれがクルーチンであることを意味します。 asyncioの代わりに、 'concurrent.futures'を考慮したいかもしれません。 – Udi
'concurrent.futures'を使って1つのスレッドで非同期タスクを実行する方法はありますか? AFAIK 'concurrent.futures'は、マルチスレッド(' ThreadPoolExecutor')またはマルチプロセッシング( '' ProcessPoolExecutor')の使用を必要としますか? – Greg