python 协程
发布时间:2020-12-20 10:26:06 所属栏目:Python 来源:网络整理
导读:协程 一、协程的本质: 单线程实现并发,在应用程序里控制多个任务的切换+保存状态 二、协程的目的: 想要在单线程下实现并发 并发指的是多个任务看起来是同时运行的 并发=切换+保存状态 三、补充: yiled可以保存状态,yield的状态保存与操作系统的保存线程
协程一、协程的本质:单线程实现并发,在应用程序里控制多个任务的切换+保存状态 二、协程的目的:
三、补充:
四、优点
五、缺点
注意:单纯地切换反而会降低运行效率
greenletgreenlet只是提供了一种比generator更加便捷的切换方式,当切到一个任务执行时如果遇到io,那就原地阻塞,仍然是没有解决遇到IO自动切换来提升效率的问题。 注意:单纯的切换(在没有io的情况下或者没有重复开辟内存空间的操作),反而会降低程序的执行速度
gevent遇到IO阻塞时会自动切换任务 一、用法:
二、补充:
三、通过gevent实现单线程下的socket并发from gevent import monkey;monkey.patch_all()一定要放到导入socket模块之前,否则gevent无法识别socket的阻塞
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |