gobject.MainLoop和tornado.IOLoop同时吗

2024-03-28 21:29:09 发布

您现在位置:Python中文网/ 问答频道 /正文

应用程序如何在一个事件中运行两个循环?在

我需要在一个Python程序中使用tornado.IOLoop(WebSocket客户机)和gobject.MainLoop(pygtk)。在

更新:首选无线程解决方案。在


Tags: 程序应用程序客户机事件解决方案tornadowebsocketpygtk
3条回答

这有点混乱,但是你可以在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实现,因此它是一个单线程解决方案。在

相关问题 更多 >