Python多线程编程(三):threading.Thread类的重要函数和方法
这篇文章主要介绍threading模块中的主类Thread的一些主要方法,实例代码如下:
''' Createdon2012-9-7 @author: walfred @module:thread.ThreadTest3 @description: ''' importthreading classMyThread(threading.Thread): def__init__(self): threading.Thread.__init__(self) defrun(self): print"Iam%s"%(self.name) if__name__=="__main__": foriinrange(0,5): my_thread=MyThread() my_thread.start()
name相关
你可以为每一个thread指定name,默认的是Thread-No形式的,如上述实例代码打印出的一样:
IamThread-1 IamThread-2 IamThread-3 IamThread-4 IamThread-5
当然你可以指定每一个thread的name,这个通过setName方法,代码:
def__init__(self): threading.Thread.__init__(self) self.setName("new"+self.name)
join方法
join方法原型如下,这个方法是用来阻塞当前上下文,直至该线程运行结束:
defjoin(self,timeout=None): timeout可以设置超时 timeout可以设置超时蚕食
setDaemon方法
当我们在程序运行中,执行一个主线程,如果主线程又创建一个子线程,主线程和子线程就分兵两路,当主线程完成想退出时,会检验子线程是否完成。如果子线程未完成,则主线程会等待子线程完成后再退出。但是有时候我们需要的是,只要主线程完成了,不管子线程是否完成,都要和主线程一起退出,这时就可以用setDaemon方法,并设置其参数为True。
当然这上面列举的只是我们在编程是经常使用到的方法,更多方法,可以参见:Higher-levelthreadinginterface