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

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



