2017-04-20 3 views
0

と並行して、カスタムのループにはどうすればtornadoのメインイベントループと並行して、無限ループ実行メインイベントループ

# custom infinite loop 
while 1: 
    print("Hello\n") 

を実行できますか?

if __name__ == "__main__": 
    # Main event loop 
    application.listen(8888) 
    tornado.ioloop.IOLoop.instance().start() 

答えて

0

他のスレッドでも実行できます(関連する同期を処理できます)。または、それをコルーチンにして定期的にIOLoopに出力させることができます(おそらく、コードの実際のバージョンはビジーループではなく眠っています;

0

私はしませんそれが最適な答えかどうかを知っていますが、スレッドの各ループを実行するとスレッドがうまく動作しました。

import threading 

application.listen(8888) 

event_loop_thread = threading.Thread(target=tornado.ioloop.IOLoop.instance().start) 
event_loop_thread.daemon = True 
event_loop_thread.start() 

custom_loop_thread = threading.Thread(target=custom_loop) 
custom_loop_thread.daemon = True 
custom_loop_thread.start() 

while 1: 
    pass 
関連する問題