【问题标题】:wxpython app crashing using pjsip with multi-threadswxpython 应用程序使用 pjsip 与多线程崩溃
【发布时间】:2012-08-08 14:27:23
【问题描述】:

我正在使用 wxpythonpjsip 做一个应用程序,我需要使用多线程,因此每个调用都由它自己的线程处理,但由于某种原因,应用程序崩溃并意外关闭立即离开以下错误:

Gdk-ERROR **: The program 'python' received an X Window System error.

这可能反映了程序中的错误。

错误是RenderBadPicture (invalid Picture parameter)

python: xcb_io.c:221: poll_for_event: Assertion `(((long) (event_sequence) - (long) (dpy->request)) <= 0)' failed.

我读到多线程和wxpython 会发生这种情况。我尝试使用wx.callafter()wx.lib.pubusub.Subscribe,但我仍然遇到同样的问题。

【问题讨论】:

    标签: python multithreading wxpython pjsip


    【解决方案1】:

    与 wxPython 相关时,来自主线程以外的线程的任何内容都必须包装在线程安全方法中。其中有 3 个:wx.CallAfter、wx.CallLater 和 wx.PostEvent。如果您尝试直接从单独的线程访问 wxPython 方法,那么您几乎肯定会遇到问题。 Pubsub 很棒,但它不是线程安全的。它也必须包含在其中一种线程安全方法中。

    wxPython wiki 有几个线程示例,我也写了一个简单的tutorial 关于这个主题。如果这些都没有帮助,那么您需要创建一个可运行的小型示例并将其发布在此处或 wxPython 邮件列表中。

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 2016-07-01
      • 1970-01-01
      • 2016-07-09
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      相关资源
      最近更新 更多