有没有一种方法可以获取所有 Activity 的 threading.Timer 对象的列表,以便在退出之前将所有它们都变成 cancel ?否则,程序将挂起以等待其完成。

我可以保留它们的列表,但是当它们触发时,我还必须删除它们。相反,我想知道是否有一种方法可以获取所有这些信息。

最佳答案

threading.enumerate()返回一个列表,其中包括活着的计时器-它们是threading._Timer的实例。

>>> t = threading.Timer(30, foo, kwargs = d)
>>> t.start()
>>> t.isAlive()
True
>>> for thing in threading.enumerate():
    if isinstance(thing, threading._Timer):
        thing.cancel()


>>> t.isAlive()
False
>>>

关于python - 列出所有事件的multithreading.Timer对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30919079/

10-11 05:58