有没有办法永久地“暂停”应用程序的主要python线程?

我有一些代码可以触发两个线程

class start():
    def __init__(self):
        Thread1= functions.threads.Thread1()
        Thread1.setDaemon(True)
        Thread1.start()
        Thread2= functions.threads.Thread2()
        Thread2.setDaemon(True)
        Thread2.start()

        #Stop thread here


此刻,当程序到达该函数的末尾时,它退出(此后主线程没有其他操作),从而杀死了无限运行的线程(循环)。如何停止主要流程退出?我可以使用while True: None循环来完成此操作,但这会占用大量CPU,并且可能有更好的方法。

最佳答案

如果您不对线程执行setDaemon(True),则只要线程运行该进程,该进程就会一直运行。

守护程序标志指示解释器无需等待线程。仅保留后台驻留程序线程时,它将退出。

10-07 18:25
查看更多