Skip to main content
 首页 » 编程设计

python之发生异常时停止线程

2025年05月04日12shanyou

我有 10 个线程,问题是当发生错误时引发异常,bye 将被打印 10 次。

我只想打印一次,然后终止所有线程。有什么解决办法吗?

from threading import Thread 
def printmsg(msg,threadNumber): 
    while True: 
        try: 
            print 'this is your message %s -- Thread Number:%s'%(msg,threadNumber) 
        except: 
              exit('Bye') 
 
for i in range(0,11): 
    Thread(target=printmsg,args=('Hello Wrold',str(i))).start() 

请您参考如下方法:

您可以在线程中设置一个标志。在主循环中,您可以连续join() 所有线程,以便等到它们消失,然后在设置标志时打印一条消息。

标志甚至可以是异常的值...