Python:使用threading模块实现多线程编程三[threading.Thread类的重要函数]

来源:互联网 发布:初学px4之飞控算法 编辑:程序博客网 时间:2024/05/21 11:13

这篇文章主要介绍threading模块中的主类Thread的一些主要方法,实例代码如下:

Python代码
  1. '''''  
  2. Created on 2012-9-7  
  3.    
  4. @author:  walfred 
  5. @module: thread.ThreadTest3  
  6. @description: 
  7. '''    
  8. import threading  
  9.   
  10. class MyThread(threading.Thread):  
  11.     def __init__(self):  
  12.         threading.Thread.__init__(self)  
  13.       
  14.     def run(self):  
  15.         print "I am %s" % (self.name)  
  16.       
  17. if __name__ == "__main__":  
  18.     for i in range(05):  
  19.         my_thread = MyThread()  
  20.         my_thread.start()                   

1 name相关

        你可以为每一个thread指定name,默认的是Thread-No形式的,如上述实例代码打印出的一样:

I am Thread-1

I am Thread-2

I am Thread-3

I am Thread-4

I am Thread-5

        当然你可以指定每一个thread的name,这个通过setName方法,代码:

Python代码
  1. def __init__(self):  
  2.     threading.Thread.__init__(self)  
  3.     self.setName("new" + self.name)  

2 join方法

        join方法原型如下,这个方法是用来阻塞当前上下文,直至该线程运行结束:

Python代码
  1. def join(self, timeout=None):  

        timeout可以设置超时蚕食

3 setDaemon方法

        当我们在程序运行中,执行一个主线程,如果主线程又创建一个子线程,主线程和子线程就分兵两路,当主线程完成想退出时,会检验子线程是否完成。如果子线程未完成,则主线程会等待子线程完成后再退出。但是有时候我们需要的是,只要主线程完成了,不管子线程是否完成,都要和主线程一起退出,这时就可以用setDaemon方法,并设置其参数为True。

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自:Python:使用threading模块实现多线程编程三[threading.Thread类的重要函数]
原创粉丝点击