Python多线程编程(三):threading.Thread类的重要函数和方法

 更新时间:2015年04月05日 11:27:33   投稿:junjie  
这篇文章主要介绍了Python多线程编程(三):threading.Thread类的重要函数和方法,本文讲解了线程名称、join方法、setDaemon方法等内容,需要的朋友可以参考下

这篇文章主要介绍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 StringIO及BytesIO包使用方法解析

    Python StringIO及BytesIO包使用方法解析

    这篇文章主要介绍了Python StringIO及BytesIO包使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • python和pyqt-tools安装位置图文详解

    python和pyqt-tools安装位置图文详解

    查询Python安装位置可通过命令行输入import sys和sys.path实现,而Python-tools的安装位置则可在Python文件夹内找到,本文介绍了如何查询Python及其工具包PyQt-tools的安装位置,便于用户进行相关设置或调试,更多关于Python安装和配置的内容,可查阅脚本之家的相关文章
    2024-09-09
  • 如何在Win10系统使用Python3连接Hive

    如何在Win10系统使用Python3连接Hive

    这篇文章主要介绍了如何在Win10系统使用Python3连接Hive,帮助大家更好的利用python读取数据,进行探索、分析和挖掘工作。感兴趣的朋友可以了解下
    2020-10-10
  • 分享五个超实用Python脚本,减少垃圾软件负担

    分享五个超实用Python脚本,减少垃圾软件负担

    今天给大家带来几个实用的python脚本工具,可以实现系统提示工具、文件夹清理工具等,这样就再也不用担心女朋友在电脑里安装垃圾软件啦
    2022-05-05
  • Flask使用Pyecharts在单个页面展示多个图表的方法

    Flask使用Pyecharts在单个页面展示多个图表的方法

    这篇文章主要介绍了Flask使用Pyecharts在单个页面展示多个图表的方法,在Flask页面展示echarts,主要有两种方法,文中给大家介绍的非常详细,需要的朋友可以参考下
    2019-08-08
  • Tkinter 组件Scrollbar的具体使用

    Tkinter 组件Scrollbar的具体使用

    本文主要介绍了Tkinter 组件Scrollbar的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Python如何实现网络自动化运维华为设备

    Python如何实现网络自动化运维华为设备

    本文介绍了如何使用Python实现华为设备的网络自动化运维,包括环境配置、设备配置、功能模块实现和SFTP文件传输测试
    2024-11-11
  • Python教程之Python多态的深层次理解

    Python教程之Python多态的深层次理解

    相信很多在学Python的朋友都有了解过多态,本篇文章来带大家更进一步的深入了解Python多态,有需要的朋可以借鉴参考下,希望可以有所帮助
    2021-09-09
  • Python实现统计文本中字符的方法小结

    Python实现统计文本中字符的方法小结

    在计算机编程中,经常需要对文本数据进行处理和分析,字符统计是其中一个常见任务,本文将详细介绍如何使用Python进行字符统计,希望对大家有所帮助
    2024-01-01
  • django验证系统的具体使用

    django验证系统的具体使用

    本文主要介绍了django验证系统的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论