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 29 Python
在Django框架中编写Contact表单的教程
Jul 17 Python
Python工程师面试题 与Python基础语法相关
Jan 14 Python
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
python 容器总结整理
Apr 04 Python
Python实现文件内容批量追加的方法示例
Aug 29 Python
Python wxpython模块响应鼠标拖动事件操作示例
Aug 23 Python
django Admin文档生成器使用详解
Jul 22 Python
Python Pandas 转换unix时间戳方式
Dec 07 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
Feb 24 Python
tensorflow+k-means聚类简单实现猫狗图像分类的方法
Apr 28 Python
django中websocket的具体使用
Jan 22 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实现抓取迅雷VIP账号的方法
2015/07/30 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
jQuery 操作XML入门
2008/12/25 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
python在linux中输出带颜色的文字的方法
2014/06/19 Python
对pandas的层次索引与取值的新方法详解
2018/11/06 Python
Python selenium根据class定位页面元素的方法
2019/02/26 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
保密协议书范本
2014/04/22 职场文书
博士生求职信
2014/07/06 职场文书
活动总结新闻稿
2014/08/30 职场文书
委托书英文
2015/01/28 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
九九重阳节致辞
2015/07/31 职场文书
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技