繁体   English   中英

Gevent池apply_async

[英]Gevent Pool apply_async

如何防止pool.apply_async中的pool.apply_async停止程序,我的意思是

import gevent
from gevent.monkey import patch_all
from gevent.pool import Pool

pool = Pool(10)

def print_num(num):
    print(num)


numbers  = [1,2,3,4,5,6,7,8,9,10]

for number in numbers:
   self.pool.apply_async(print_num, args=(number,))

现在,如果我们运行上面的代码,那么程序将关闭并且工人还没有完成所有操作

如果添加join ,程序仍将退出。

我们如何等待所有工人完成他们需要做的工作

pool.apply_async中的gevent

这对我来说很好。

import gevent
from gevent.monkey import patch_all
from gevent.pool import Pool

pool = Pool(10)

def print_num(num):
    print(num)


numbers  = [1,2,3,4,5,6,7,8,9,10]

for number in numbers:
   pool.apply_async(print_num, args=(number,))

pool.join()

并发不是多线程

当不调用pool.join时,将永远不会调度greenlet。 调用联接时,greenlet不会作为单独的线程运行。 并发与并行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM