2017-12-15 19 views
0

私は竜巻のしくみを理解しようとしています。理解しながら、私はtornado.genを使って簡単なコルーチンの例を実装しようとしました。しかし、この例はうまくいかないようです。何がここで間違っているの上のリード?単純な理解tornado.gen.coroutine

import tornado.web 
from tornado import gen 


class MainHandler(tornado.web.RequestHandler): 

    @gen.coroutine 
    def get(self): 
     print("Handling starts") 
     yield tornado.gen.sleep(5) 
     print("Handling ends") 
     self.write('Hi') 

私は複数のブラウザタブを開いて、サーバーを要求しようとすると、現在の1を除くすべての要求がブロックされると、竜巻は、同期の方法でこれらの要求を処理しているようだ:

Handling starts 
Handling ends 
Handling starts 
Handling ends 
Handling starts 
Handling ends 
Handling starts 
Handling ends 
Handling starts 
Handling ends 
Handling starts 
Handling ends 

答えて

2

ブラウザドン同時に同じリソースに対して複数の要求を行うことはありません。詳細については、Chrome stalls when making multiple requests to same resource?

これはTornado FAQsにも記載されています。とにかく

は、トルネードの 非同期動作を確認ブラウザからの要求を1つ作り、そしてあなたの端末から別のものに:あなたは出力期待通りに表示されるはずです

curl http://127.0.0.1:8888/ 

関連する問題