多任务协程编程
协程,又称微线程,纤程。英文名Coroutine。
协程也是一种轻量级的多任务编程技术,它可以在同一个线程中实现多个任务的切换和调度。
协程通过任务的暂停和恢复,避免了线程切换的开销并减少了锁的使用。协程常用于异步编程场景,比如网络编程和IO密集型任务。
最大的优势就是协程极高的执行效率。因为函数切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越明显。
第二大优势就是不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好了,所以执行效率比多线程高很多。
比如:一个人在打印资料的等待过程中,又去接听了客户的电话,在接听电话的等待过程中,又整理了桌面。
Python 中可以使用第三方模块 gevent 实现进程多任务编程。
# pip install gevent
import gevent
创建协程
gevent 模块使用 spawn 类创建协程实例对象,实现协程任务的创建。
spawn(run [, args [, kwargs]])
参数说明:
-
run:执行的目标任务名 -
args:以元组方式给执行任务传参 -
kwargs:以字典方式给执行任务传参
import gevent
def task():
for i in

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



