gevent中与”线程”相关的几个例子

标题虽然说是线程,其实gevent用的是“greenlet”,可能翻译成”微线程”更合适一些。

1、线程池

2、 一生产者多消费者

3、多生产者(用Pool),1消费者(单独线程)

这个略反常规,如果我们假设生产者是I/O密集的Job,由Pool中的Job产生。而消费者只有1个。

用了kill,写的不太优雅,各路大神可以给提提意见。

Update下,我们可以稍微改进下:当pool所有job都完成后,给queue中加入一个特殊的”StopIteration” ,然后来让consumer退出:-)

 

 

 

 

 

 

 

 

One thought on “gevent中与”线程”相关的几个例子

Leave a Reply

Your email address will not be published.