我从Unterstanding eventlet.wsgi.server获取了示例代码。
from eventlet import wsgi
import eventlet
from eventlet.green import time
import threading
def hello_world(env, start_response):
print "got request", eventlet.greenthread.getcurrent(), threading.currentThread()
time.sleep(10)
start_response('200 OK', [('Content-Type', 'text/plain')])
return ['Hello, World!\n']
wsgi.server(eventlet.listen(('', 8090)), hello_world)
当我通过不同的客户端 IP 地址访问 Web 服务器时,我可以看到它们是并行处理的。通过打印hello_world
,我还可以在两个不同的绿色线程中处理它们,但在同一个操作系统线程中。
我是 Python 新手。我很好奇,如果每个 greenthread 都与底层 OS 线程相关联?