如何取消python gobject.timeout\u add设置的计时器?线程?

如何取消python gobject.timeout\u add设置的计时器?线程?,python,multithreading,timer,pygobject,Python,Multithreading,Timer,Pygobject,我想在一个线程中设置计时器,并在我想取消设置gobject.timeout\u add设置的计时器时终止该线程,这是一个好方法吗 基本上,我希望每180秒运行一个函数,但我希望能够随时停止它(从另一个函数调用)。如何恰当地实现这一点 我读过,杀死一根线是不好的!这样的简单任务有多糟糕?根据调用gobject.timeout\u add时返回的int对于该超时源是唯一的。然后再往下看,您会看到一个名为gobject.source\u remove的函数,它接受一个int作为参数,它将为您删除事件源

我想在一个线程中设置计时器,并在我想取消设置gobject.timeout\u add设置的计时器时终止该线程,这是一个好方法吗

基本上,我希望每180秒运行一个函数,但我希望能够随时停止它(从另一个函数调用)。如何恰当地实现这一点

我读过,杀死一根线是不好的!这样的简单任务有多糟糕?

根据调用
gobject.timeout\u add
时返回的
int
对于该超时源是唯一的。然后再往下看,您会看到一个名为
gobject.source\u remove
的函数,它接受一个
int
作为参数,它将为您删除事件源,而不必干扰线程等。 例如:

希望有帮助

integer_id = gobject.timeout_add( 180000, callback_func)
#And then somewhere else in your code...
gobject.source_remove(integer_id) #This will stop the timeout_add from occurring!