eventlet.greenthread.sleep在猴子修补环境中的VS time.sleep

Max*_*bur 3 python monkeypatching green-threads eventlet python-2.7

我们正在运行一个服务器上的事件绿线程和猴子修补一切.我需要定期检查实现wait循环,我想把睡眠放在里面.

之间有什么区别:

eventlet.greenthread.sleep(1) AND time.sleep(1) 
Run Code Online (Sandbox Code Playgroud)

在猴子修补的环境?我想知道猴子补丁是否处理time.sleep

dan*_*ano 6

它们在猴子修补的环境中是相同的.eventlet猴子补丁time.sleep默认情况下:

没有猴子补丁:

>>> import time
>>> time.sleep.__module__
'time'
Run Code Online (Sandbox Code Playgroud)

随着猴子补丁:

>>> import eventlet
>>> eventlet.monkey_patch()
>>> import time
>>> time.sleep.__module__
'eventlet.greenthread'
Run Code Online (Sandbox Code Playgroud)

它不是猴子补丁的唯一方法是,如果eventlet.monkey_patch调用指定猴子补丁的模块子集,则省略'time':

>>> import eventlet
>>> eventlet.monkey_patch(socket=True, thread=True)
>>> import time
>>> time.sleep.__module__
'time'
Run Code Online (Sandbox Code Playgroud)