このハンドラを単純なTornadoアプリケーションで実行し、curl
で2つの要求を行うと、並列処理は実行されません。 「1 1 2 2 3 3 4 4 5 5」と印刷したいときは「1 2 3 4 5 1 2 3 4 5」を印刷します。なぜ、time.sleepがトルネードコルーチンで並行して実行されないのですか?
class SleepHandler(RequestHandler):
def get(self):
for i in range(5):
print(i)
time.sleep(1)
私は間違っていますか?それは他のハンドラが実行できるように、コントロールがIOLoop
に復帰することはできません:
私はあなたがこの回答を貼り付けることができたらいいですよ。 –
それは考えです。これは[the tornado faq](http://www.tornadoweb.org/en/stable/faq.html#why-isn-t-this-example-with-time-sleep-running-in-parallel)からコピーされています。これを求める他のすべての質問は、この質問の重複として閉じられる可能性があります。 –