【发布时间】:2009-05-02 17:29:51
【问题描述】:
好的,所以我正在编写一个应用程序,它使用 pyGST 绑定播放音乐。
这需要使用线程来处理播放。绑定库为我处理了大部分线程控制,这很好(以及我在其中寻找的内容)。
现在,我还没有完全掌握这个概念,所以我很想得到一些参考。但我理解它的方式是,我必须基本上通知应用程序它可以使用多个线程。
我从 gstreamer 网站上的 examples 收集到这个,他们使用这个调用:
gtk.gdk.threads_init()
gtk.main()
根据here,这告诉应用它可以使用多个线程(或多或少),这就是我上述假设的来源。
这就是背景。现在得到这个。我已将这些行放在我的代码中,它们工作正常。我的应用程序播放音乐而不是在尝试时崩溃。但是感觉有些不对劲。
在我得到这些行的示例中,他们对整个 GUI 使用 gtk,但我想使用 wxWidgets,所以调用这个 gtk 函数来执行此操作感觉不对。
有与此等效的 wx 吗? 还是可以使用它,它仍然可以跨平台工作吗?
另外,我必须弄清楚如何在退出时杀死所有这些线程(它现在不这样做)我在示例中再次使用 gtk 方法看到它们是如何做到的,所以再次寻找 wx 等价物.
PS:我认为这(或解决方案)可能与 wx.App.MainLoop() 函数有关,但我在试图理解这个循环的工作原理时迷失了方向,所以再次感谢有关此的良好参考,但我想只要我有一个好的解决方案就没有必要。
【问题讨论】: