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
使用すると、それらが 2 つの異なるグリーンスレッドで処理されているが、同じ OS スレッドで処理されていることもわかります。
私はPythonが初めてです。各グリーンスレッドが基礎となる OS スレッドに関連付けられているかどうかに興味がありますか?