视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python多线程编程(三):threading.Thread类的重要函数和方法
2020-11-27 14:39:58 责编:小采
文档


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

代码如下:


'''
Created on 2012-9-7

@author: walfred
@module: thread.ThreadTest3
@description:
'''
import threading

class MyThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)

def run(self):
print "I am %s" % (self.name)

if __name__ == "__main__":
for i in range(0, 5):
my_thread = MyThread()
my_thread.start()

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方法,代码:

代码如下:


def __init__(self):
threading.Thread.__init__(self)
self.setName("new" + self.name)


join方法

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

代码如下:


def join(self, timeout=None):
timeout可以设置超时
timeout可以设置超时蚕食

setDaemon方法

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

当然这上面列举的只是我们在编程是经常使用到的方法,更多方法,可以参见:Higher-level threading interface

下载本文
显示全文
专题