Python Tornado I/O循环current()vs instance()方法

San*_*Kim 2 asynchronous tornado python-multithreading python-2.7

我一直在查看龙卷风文件.

在阅读IOLoop时,有下面的内容.

通常,在构造异步对象时应使用IOLoop.current作为缺省值,并在使用IOLoop.instance时使用IOLoop.instance来表示从另一个主线程进行通信.

有意义的是,我必须使用instance()方法通过共享一个全局IOLoop实例的多线程进行通信.

但是,什么是asynchronous object在这里,我为什么要使用current()中的情况下,asynchronous object?

Ben*_*ell 5

"异步对象"只是指具有异步方法的对象IOStreamHTTPServer具有异步方法的对象.

你应该几乎总是使用IOLoop.current()而不是IOLoop.instance().在大多数情况下,它们是等效的,因为你只有一个线程和一个IOLoop,但是当它们不current()同时通常是你想要的.IOLoop.instance()应该使用的唯一时间是A)你有多个线程和B)除了IOLoop线程之外的线程需要调用add_callback(这是另一个线程可以与IOLoop交互的唯一方式).