代码之家  ›  专栏  ›  技术社区  ›  detly

Twisted/PyGTK的简单、非联网示例

  •  4
  • detly  · 技术社区  · 14 年前

    我正努力让一些异步活动在PyGTK下工作,这时有人建议我考虑使用Twisted。

    那么:对于使用Twisted创建GTK(PyGTK)应用程序并执行异步任务,是否有一个干净、简单的教程或示例?

    (是的,我见过 pbgtk2.py . 它没有注释,以网络为中心,对新手来说完全是个难题。)

    更新时间: glib.idle_add / gtk.gdk.lock 以及在Windows下无法正常工作的朋友。这一切都是在法庭上讲出来的 pygtk list -PyGTK需要一些技巧才能使异步行为在Windows下工作。

    然而,我的观点仍然是,每当我提到在PyGTK中进行异步活动时,总会有人说“不要使用线程,使用Twisted!”我想知道原因和方法。

    1 回复  |  直到 14 年前
        1
  •  2
  •   pygabriel    14 年前

    Twisted在pygtk中执行的是异步任务 uses functions gobject.io_add_watch / glib.io_add_watch gobject.timeout_add / glib.timeout_add (加上一些其他的,你可以在gobject中找到它们 glib module ),所以如果不需要联网,那么使用原始pygtk函数和twisted函数没有太大区别。

    glib functions 基本上是为了处理这种情况。

    glib.idle_add glib.io\u add\u手表 ,也就是说twisted使用了类似的东西)。

    例如,我不确定 glib.io\u add\u手表 好像不行。我写了一封信 article on my blog