Python3等待所有异步线程完成

时间:2020-06-18 20:19:20

标签: python python-3.x multithreading asynchronous

我需要在64到256个网络测试之间开始,每个网络测试花费的时间不同(大多数时间在10到30秒之间)。

我只是在debian上使用系统(“网络代码文件目标”)。它可以工作,但由于地狱般缓慢,因为每个呼叫都等待下一个呼叫完成。

在C ++中,我会做类似的事情

map["dnsserver1"]

这仍然是令人难以置信的愚蠢,但比一一完成至少快16倍。

如何在Python中并行启动X异步线程并等待所有线程完成?


#pragma omp parallel for
for(int i = 0; i < 256;i++)
{
 system("network_app");
}

1 个答案:

答案 0 :(得分:0)

我使用线程来解决问题,因为我的命令在IO上绑定(长时间的磁盘访问等待时间)。不要将此用于计算受限的问题,在这种情况下,请使用numby。

jsval :: IsJSVal a => a -> JSVal