代码:
import eventlet
eventlet.monkey_patch()
import requests
def main():
print(eventlet.patcher.is_monkey_patched(requests))
if __name__ == "__main__":
main()
我原以为打印语句会返回True,但实际上它返回False。为什么会发生这种情况?
没错,Eventlet没有修补requests
,没有必要。这个包中没有关于绿色线程的特殊之处。因为它基本上是urllib3
的包装器,提供了更好的API。出于同样的原因,urllib3
也并没有被修补。但是,我们确实对socket
进行了修补。CCD_ 5使用CCD_ 6,CCD_。
您可以在网站上看到Eventlet修补的模块列表http://eventlet.net/doc/patching.html#monkeypatching-标准库截至今天(2016-04-09)它是:os,select,socket,thread,time,psycopg。logging
很快就会加入这个名单。
我很乐意帮助您解决实际问题,您认为is_monkey_patched
就是解决方案。