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 流程控制实例代码
Sep 25 Python
Python中apply函数的用法实例教程
Jul 31 Python
Python yield 使用浅析
May 28 Python
python with提前退出遇到的坑与解决方案
Jan 05 Python
python实现对文件中图片生成带标签的txt文件方法
Apr 27 Python
解决Python requests库编码 socks5代理的问题
May 07 Python
python实现电脑自动关机
Jun 20 Python
利用Python实现原创工具的Logo与Help
Dec 03 Python
opencv之为图像添加边界的方法示例
Dec 26 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
Jan 20 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
Python高并发解决方案实现过程详解
Jul 31 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 strtotime函数详解
2009/12/18 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
laravel容器延迟加载以及auth扩展详解
2015/03/02 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
MooTools 1.2介绍
2009/09/14 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
JavaScript异步回调的Promise模式封装实例
2014/06/07 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
轻量级JS Cookie插件js-cookie的使用方法
2018/03/22 Javascript
使用JavaScript中的lodash编写双色球效果
2018/06/24 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
2018/07/13 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
vc6编写python扩展的方法分享
2014/01/17 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
Python中remove漏删和索引越界问题的解决
2020/03/18 Python
pandas的resample重采样的使用
2020/04/24 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
台湾家适得:Homeget
2019/02/11 全球购物
美国最值得信赖的宠物药房:Allivet
2019/03/23 全球购物
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
仓库门卫岗位职责
2013/12/22 职场文书
阳光体育活动总结
2014/04/30 职场文书
银行授权委托书样本
2014/10/13 职场文书
青年志愿者活动感想
2015/08/07 职场文书
linux目录管理方法介绍
2022/06/01 Servers