Python多线程编程(三):threading.Thread类的重要函数和方法


Posted in Python onApril 05, 2015

这篇文章主要介绍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 

Python 相关文章推荐
python实现的各种排序算法代码
Mar 04 Python
python实现的简单抽奖系统实例
May 22 Python
python数据类型_元组、字典常用操作方法(介绍)
May 30 Python
Python实现解析Bit Torrent种子文件内容的方法
Aug 29 Python
python 中if else 语句的作用及示例代码
Mar 05 Python
python得到windows自启动列表的方法
Oct 14 Python
python实战串口助手_解决8串口多个发送的问题
Jun 12 Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 Python
ORM Django 终端打印 SQL 语句实现解析
Aug 09 Python
np.random.seed() 的使用详解
Jan 14 Python
python调用百度AI接口实现人流量统计
Feb 03 Python
python创建字典及相关管理操作
Apr 13 Python
Python多线程编程(二):启动线程的两种方法
Apr 05 #Python
Python多线程编程(一):threading模块综述
Apr 05 #Python
Python中使用dom模块生成XML文件示例
Apr 05 #Python
Python中比较特别的除法运算和幂运算介绍
Apr 05 #Python
Python中使用logging模块打印log日志详解
Apr 05 #Python
Python中的两个内置模块介绍
Apr 05 #Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
Apr 05 #Python
You might like
PHP动态创建Web站点的方法
2011/08/14 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
js 编程笔记 无名函数
2011/06/28 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
javascript+html5+css3自定义提示窗口
2017/06/21 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
python网络爬虫采集联想词示例
2014/02/11 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
用Python实现随机森林算法的示例
2017/08/24 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
HTML5: Web 标准最巨大的飞跃
2008/10/17 HTML / CSS
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
小学运动会口号
2014/06/07 职场文书
挂靠协议书
2015/01/27 职场文书
工作会议简报
2015/07/20 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
给numpy.array增加维度的超简单方法
2021/06/02 Python
如何用python清洗文件中的数据
2021/06/18 Python