猴子补丁(monkey.patch_all())

本文探讨了monkeypatch的概念,即在启动时动态替换标准库中的组件,如thread/socket,使其变为非阻塞的gevent协程版本,从而实现更高效的并发处理。通过gevent的调度机制,当某个协程遇到阻塞时,会自动切换到其他协程,避免了传统线程模型的等待问题。
  1. monkey patch指的是在执行时动态替换,通常是在startup的时候.
  2. 用过gevent就会知道,会在最开头的地方gevent.monkey.patch_all();把标准库中的thread/socket等给替换掉.这样我们在后面使用socket的时候能够跟寻常一样使用,无需改动不论什么代码,可是它变成非堵塞的了.
  3. 就是把里面的函数转变成gevent协程里面的相同的函数,这样就可以说都变成导入的gevent的函数,gevent是类似一个协程空间,当你用生成协程时,就会在gevent容器空间中生成一个标记好的协程,当多个协程同时存储在容器空间时,gevent就会统一调配CPU的使用,当那个协程出现堵塞时,gevent就会马上切换执行到下一个协程标记中去,实现一个非堵塞的运行gevent容器空间!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值