遇到阻塞就切换到另一个协程继续执行 !
gevent 协程通信
# 将函数封装成协程,并开始调度
>>>producer = gevent.spawn(producer, queue)
# 阻塞(一阻塞就切换协程)等待
>>>gevent.joinall([producer, consumer])
>>>gevent实现单线程下的多socket并发
gevent通信 问题引入
问题一: 协程之间不是能通过switch通信嘛?
>>>是的,由于 gevent 基于 greenlet,所以可以。
问题二: 那为什么还要考虑通信问题?
>>>因为 gevent 不需要使用手动切换,而是遇到阻塞就切换,因此不会去使用switch !
gevent是python的一个并发框架,以微线程greenlet为核心,使用了epoll事件监听机制以及诸多其他优化而变得高效。