Eventlet是一个用来处理和网络相关的python网络库,而且可以通过协程来实现并发,在eventlet里,把“协程”叫做greenthread。
所谓并发,就是开启了多个greenthread,并且对这些greenthread进行管理,以实现非阻塞式的I/O。
关于协程,大致可以理解成允许子程序可以多次暂停和恢复执行,是实现多任务的一种有效手段,
Eventlet的基础是greenlet,这是实现"协程(Coroutine)" 的基础。
协程又被称作 "微线程“,简单点说就是在一个原生线程上通过"拷贝"和"切换" 堆栈帧数据来实现执行多个工作,
看上去和传统的"单CPU,多线程(Threading)"执行方式差不多。
在 Python 中,使用协程来做并发是对于系统资源消耗最小,可以最大化的做高并发,但是,需要我们自己来做调度,操作系统不会主动调度任务。
时间: 2024-10-07 16:33:56