协程并发框架gevent及其用法

gevent是python的一个并发框架,采用协程实现并发目的,用起来也非常简单

gevent的docs:http://www.gevent.org/contents.html

一个最简单的例子:

import gevent

import gevent.monkey
gevent.monkey.patch_all()

def foo(i, a, b, c): 
    print('Running in foo' + str(i) + ' ' + str(a) + str(b) + str(c))
    gevent.sleep(0)
    print('Explicit context switch to foo again')

tasks = [ gevent.spawn(foo,i, 1, 2,3) for i in range(0,10)]
gevent.joinall(tasks)

 

其中,

gevent.monkey.patch_all()的作用是将一些常见的阻塞,如socket、select等会阻塞的地方实现协程跳转,而不是在那里一直等待,导致整个协程组无法工作。

原文链接: https://www.cnblogs.com/moodlxs/p/3248890.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    协程并发框架gevent及其用法

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/390551

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月30日 下午3:48
下一篇 2023年3月30日 下午3:48

相关推荐