我们在eventlet绿色线程+猴子修补所有内容上运行服务器。 我需要定期检查实现wait循环,我想把睡眠放在里面。
之间有什么区别:
eventlet.greenthread.sleep(1) AND time.sleep(1)
在猴子修补的环境中?我想知道猴子补丁是否处理time.sleep
答案 0 :(得分:6)
他们在猴子修补的环境中也是如此。默认情况下eventlet
猴子补丁time.sleep
:
没有猴子补丁:
>>> import time
>>> time.sleep.__module__
'time'
使用猴子补丁:
>>> import eventlet
>>> eventlet.monkey_patch()
>>> import time
>>> time.sleep.__module__
'eventlet.greenthread'
如果eventlet.monkey_patch
调用指定了猴子补丁的模块子集,而忽略了'time'
,那么唯一的方法就是不能使用猴子补丁:
>>> import eventlet
>>> eventlet.monkey_patch(socket=True, thread=True)
>>> import time
>>> time.sleep.__module__
'time'