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实现树的先序、中序、后序排序算法示例
Jun 23 Python
Python3实现购物车功能
Apr 18 Python
python Flask 装饰器顺序问题解决
Aug 08 Python
python redis 删除key脚本的实例
Feb 19 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
Mar 18 Python
对python tkinter窗口弹出置顶的方法详解
Jun 14 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
Jun 17 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 Python
Django 对象关系映射(ORM)源码详解
Aug 06 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
python ConfigParser库的使用及遇到的坑
Feb 12 Python
Python自动化工具之实现Excel转Markdown表格
Apr 08 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读取目录下所有文件的代码
2008/01/07 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
网站上面有这种切换效果
2006/06/26 Javascript
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
js和jquery如何获取图片真实的宽度和高度
2014/09/28 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
Python tkinter事件高级用法实例
2018/01/31 Python
Python程序运行原理图文解析
2018/02/10 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
python如何制作英文字典
2019/06/25 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
django迁移数据库错误问题解决
2019/07/29 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
世界上最大的二手相机店:KEN
2017/05/17 全球购物
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
会计专业推荐信
2013/10/29 职场文书
如何写你的创业计划书
2014/01/07 职场文书
国贸专业自荐信范文
2014/03/02 职场文书
《生命 生命》教学反思
2014/04/19 职场文书
公司车辆管理制度
2015/08/04 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
python析构函数用法及注意事项
2021/06/22 Python
Nginx实现会话保持的两种方式
2022/03/18 Servers
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫