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 MySQLdb模块连接操作mysql数据库实例
Apr 08 Python
python实时分析日志的一个小脚本分享
May 07 Python
利用Celery实现Django博客PV统计功能详解
May 08 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
Python学习_几种存取xls/xlsx文件的方法总结
May 03 Python
Python 实现中值滤波、均值滤波的方法
Jan 09 Python
Python设计模式之工厂方法模式实例详解
Jan 18 Python
django组合搜索实现过程详解(附代码)
Aug 06 Python
Django学习之文件上传与下载
Oct 06 Python
对tensorflow 中tile函数的使用详解
Feb 07 Python
python如何处理程序无法打开
Jun 16 Python
Python Matplotlib绘制条形图的全过程
Oct 24 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
PHP_MySQL教程-第一天
2007/03/18 PHP
php上传图片类及用法示例
2016/05/11 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
windows下wxPython开发环境安装与配置方法
2014/06/28 Python
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
Selenium环境变量配置(火狐浏览器)及验证实现
2020/12/07 Python
python定义具名元组实例操作
2021/02/28 Python
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
学校工作推荐信范文
2014/07/11 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
2015年药店工作总结
2015/04/20 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang