繁体   English   中英

如何在python中正确关闭gobject主循环?

[英]How to shut down gobject main loop properly in python?

我发现自己在试图听dbus的时候第一次遇到了一个gobject。 我发现这段代码教我如何设置一个主循环。

我如何在Python中用Linux监听'usb device inserted'事件?

但我现在需要的是一种阻止它的方法。 主循环有一个退出函数,我知道如何从键盘中断异常调用它。 但是当我将这个主循环放入线程时,如何让它停止?

或者更一般:使这个循环独立运行的正确方法是什么,但是当main函数退出时也退出?

我感谢您的帮助。

什么都不知道python,但一般来说你应该把loop变量传递给调用线程(你的主函数),然后在你完成时从那里loop.quit()

要传递循环变量,您基本上有两个选项:

  1. 简单的方法:在分叉之前使用gobject.MainLoop()初始化loop ,因此它可以从两个线程中获得;
  2. 困难的方法:在循环线程中初始化后将值传递给主线程。

GCond文档push_data()pop_data() )显示了在线程之间传递数据的示例(在C中)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM