简体   繁体   English

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

[英]eventlet.greenthread.sleep VS time.sleep in monkey-patched environment

We're running a server on eventlet green-threads + monkey-patching everything. 我们正在运行一个服务器上的事件绿线程和猴子修补一切。 I need to implement wait loop with periodic check, and I want to put sleep inside. 我需要定期检查实现wait循环,我想把睡眠放在里面。

Is there any difference between : 之间有什么区别:

eventlet.greenthread.sleep(1) AND time.sleep(1) 

in monkey-patched environment? 在猴子修补的环境? I'm wondering if monkey-patch handles time.sleep 我想知道猴子补丁是否处理time.sleep

They're the same in a monkey-patched environment. 它们在猴子修补的环境中是相同的。 eventlet monkey patches time.sleep by default: eventlet猴子补丁time.sleep默认情况下:

No monkey patch: 没有猴子补丁:

>>> import time
>>> time.sleep.__module__
'time'

With monkey-patch: 随着猴子补丁:

>>> import eventlet
>>> eventlet.monkey_patch()
>>> import time
>>> time.sleep.__module__
'eventlet.greenthread'

The only way it wouldn't be monkey-patch is if the eventlet.monkey_patch call specifies a subset of modules to monkey-patch, leaving out 'time' : 它不是猴子补丁的唯一方法是,如果eventlet.monkey_patch调用指定猴子补丁的模块子集,省略'time'

>>> import eventlet
>>> eventlet.monkey_patch(socket=True, thread=True)
>>> import time
>>> time.sleep.__module__
'time'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM