0
私は竜巻とイベント駆動型プログラミングのノンブロッキングインフラストラクチャについて考えました。実際に私は外部WebサービスのHTTP-APIにアクセスしている単純なwebappを書いています。私はなぜこのAPIを非ブロックと呼ぶべきか理解しています。しかし、IOLoopがさらにループできるように、最初の呼び出しをノンブロッキングで行うだけであれば、何らかの欠点がありますか?例についてはTornado Blocking Code
:
@tornado.web.asynchronous
def get(self):
nonblocking_call1(self._callback)
def _callback(self, response):
self.write(str(response))
self.write(str(blocking_call2()))
self.write(str(blocking_call3()))
self.finish()
対
@tornado.web.asynchronous
def get(self):
nonblocking_call1(self._nonblocking_callback1)
def _callback1(self, response):
self.write(str(response))
nonblocking_call2(self._nonblocking_callback2)
def _callback2(self, response):
self.write(str(response))
nonblocking_call3(self._nonblocking_callback3)
def _callback3(self, response):
self.write(str(response))
self.finish()