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常用内置模块之xml模块(详解)
May 23 Python
python 中random模块的常用方法总结
Jul 08 Python
Python将DataFrame的某一列作为index的方法
Apr 08 Python
pandas string转dataframe的方法
Apr 11 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
详解Python if-elif-else知识点
Jun 11 Python
详解Python requests 超时和重试的方法
Dec 18 Python
情人节快乐! python绘制漂亮玫瑰
Aug 18 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
Jun 17 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
May 11 Python
python 常见的反爬虫策略
Sep 27 Python
Django实现聊天机器人
May 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
session在PHP大型web应用中的使用
2011/06/25 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
PDO::rollBack讲解
2019/01/29 PHP
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
简单实现JS倒计时效果
2016/12/23 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
jQuery实现菜单栏导航效果
2017/08/15 jQuery
javascript标准库(js的标准内置对象)总结
2018/05/26 Javascript
详解vue指令与$nextTick 操作DOM的不同之处
2018/08/02 Javascript
vue-property-decorator用法详解
2019/12/12 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
Python定义函数实现累计求和操作
2020/05/03 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
大学毕业通用个人的求职信
2013/12/08 职场文书
网络宣传方案
2014/03/15 职场文书
中华魂演讲稿
2014/05/13 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
先进单位事迹材料
2014/12/25 职场文书
瘦西湖导游词
2015/02/03 职场文书
深入理解python协程
2021/06/15 Python
关于 Python json中load和loads区别
2021/11/07 Python
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技
MySQL transaction事务安全示例讲解
2022/06/21 MySQL