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的Flask框架实现视频的流媒体传输
Mar 31 Python
不可错过的十本Python好书
Jul 06 Python
Python 多进程和数据传递的理解
Oct 09 Python
Python 统计字数的思路详解
May 08 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
Apr 17 Python
python列表,字典,元组简单用法示例
Jul 11 Python
python并发爬虫实用工具tomorrow实用解析
Sep 25 Python
Python3.9又更新了:dict内置新功能
Feb 28 Python
IDLE下Python文件编辑和运行操作
Apr 25 Python
python 6行代码制作月历生成器
Sep 18 Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 Python
深入理解pytorch库的dockerfile
Jun 10 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
如何给phpcms v9增加类似于phpcms 2008中的关键词表
2013/07/01 PHP
Java中final关键字详解
2015/08/10 PHP
8个必备的PHP功能开发
2015/10/02 PHP
两种WEB下的模态对话框 (asp.net或js的分别实现)
2009/12/02 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
JS刷新框架外页面七种实现代码
2013/02/18 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
js 颜色选择插件
2017/01/23 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
Vue中render函数的使用方法
2018/01/31 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
Django框架的中的setting.py文件说明详解
2018/10/15 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
python利用百度云接口实现车牌识别的示例
2020/02/21 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
PatPat香港:婴童服饰和亲子全家装在线购物
2020/09/27 全球购物
Java面试题汇总
2015/12/06 面试题
实习自我鉴定模板
2013/09/28 职场文书
残疾人小组计划书
2014/04/27 职场文书
英文求职信范文
2014/05/23 职场文书
社区母亲节活动总结
2015/02/10 职场文书
幼师自荐信范文
2015/03/06 职场文书
投诉信回复范文
2015/07/03 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
python实现简单聊天功能
2021/07/07 Python
正则表达式基础与常用验证表达式
2022/06/16 Javascript