锦夜程星索爱过胡蓝蓝:关于twisted中reactor的callInThread

来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 05:37:27
如果用reactor.callInThread(f,*args,**kw)开始一个无限循环线程,怎么才能保证主程序退出时,所有的线程都结束
比如

from twisted.internet import reactor
import time
import os

def tt(i):
    while 1:
        print i
        time.sleep(1)

def stopThreadsAndShutdown():
    print "stop..."
    reactor.stop()  #这样不能保证所有的线程结束

reactor.callInThread(tt,1)
reactor.callInThread(tt,4)
reactor.callInThread(tt,7)

reactor.callLater(3,stopThreadsAndShutdown)
reactor.run()

os.system("pause")

怎样写stopThreadsAndShutdown函数才能达到退出所有线程的要求呢?