2024-03-28 21:29:09 发布
网友
应用程序如何在一个事件中运行两个循环?在
我需要在一个Python程序中使用tornado.IOLoop(WebSocket客户机)和gobject.MainLoop(pygtk)。在
更新:首选无线程解决方案。在
这有点混乱,但是你可以在gobject事件循环的顶部运行Tornado,所有这些都在一个线程中使用Twisted。沿着http://www.tornadoweb.org/en/stable/twisted.html#tornado-on-twisted上的“扭曲的龙卷风”方向,使用Twisted的gireactor(http://twistedmatrix.com/documents/13.1.0/api/twisted.internet.gireactor.html)。在
也可以编写一个直接使用gobject的IOLoop实现,而不需要经过Twisted,但据我所知,还没有人这样做。在
你可以用一根线
import threading threading.Thread(target=my_ioloop.start).start()
你可以试试我的gioloop.py。这是一个带有gobject.io_add_watch的IOLoop实现,因此它是一个单线程解决方案。在
gobject.io_add_watch
这有点混乱,但是你可以在gobject事件循环的顶部运行Tornado,所有这些都在一个线程中使用Twisted。沿着http://www.tornadoweb.org/en/stable/twisted.html#tornado-on-twisted上的“扭曲的龙卷风”方向,使用Twisted的gireactor(http://twistedmatrix.com/documents/13.1.0/api/twisted.internet.gireactor.html)。在
也可以编写一个直接使用gobject的IOLoop实现,而不需要经过Twisted,但据我所知,还没有人这样做。在
你可以用一根线
你可以试试我的gioloop.py。这是一个带有
gobject.io_add_watch
的IOLoop实现,因此它是一个单线程解决方案。在相关问题 更多 >
编程相关推荐