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列表去重的二种方法
Feb 14 Python
python文件写入实例分析
Apr 08 Python
详解Python的Django框架中的Cookie相关处理
Jul 22 Python
Python selenium 三种等待方式详解(必会)
Sep 15 Python
python模块之re正则表达式详解
Feb 03 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
python 实现敏感词过滤的方法
Jan 21 Python
Python利用requests模块下载图片实例代码
Aug 12 Python
tensorboard显示空白的解决
Feb 15 Python
python编程进阶之类和对象用法实例分析
Feb 21 Python
python 给图像添加透明度(alpha通道)
Apr 09 Python
Python如何实现邮件功能
May 27 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
php多文件上传下载示例分享
2014/02/20 PHP
php支付宝APP支付功能
2020/07/29 PHP
5个javascript的数字格式化函数分享
2011/12/07 Javascript
jquery随机展示头像代码
2011/12/21 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
jquery实现的V字形显示效果代码
2015/10/27 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
2017/07/13 Javascript
JavaScript作用域链实例详解
2019/01/21 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
netbeans7安装python插件的方法图解
2013/12/24 Python
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
python3.5 tkinter实现页面跳转
2018/01/30 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
error和exception有什么区别
2012/10/02 面试题
公司出纳岗位职责
2013/12/07 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
科技活动周标语
2014/10/08 职场文书
小学母亲节活动总结
2015/02/10 职场文书
考博导师推荐信范文
2015/03/27 职场文书
2015年见习期个人工作总结
2015/05/28 职场文书
python基础之文件处理知识总结
2021/05/23 Python
pandas中pd.groupby()的用法详解
2022/06/16 Python