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

作者:junjie 时间:2021-04-22 09:02:47 

这篇文章主要介绍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,多线程,threading.Thread,函数,方法
0
投稿

猜你喜欢

  • Cython编译python为so 代码加密示例

    2023-01-22 13:16:48
  • Python-while 计算100以内奇数和的方法

    2022-03-24 12:00:39
  • 在PYQT5中QscrollArea(滚动条)的使用方法

    2023-03-07 06:29:51
  • Golang与其他语言不同的九个特性

    2024-05-10 13:57:41
  • 网站浏览器兼容的底线

    2007-12-22 11:26:00
  • 无法通过Google网站管理工具验证的部分情况解决办法

    2009-07-28 12:56:00
  • Linux下安装PHP MSSQL扩展教程

    2024-03-11 10:41:47
  • 利用JavaScript实现防抖节流函数的示例代码

    2024-05-11 09:31:55
  • Win2003服务器安装及设置教程 MySQL安全设置图文教程

    2024-01-28 17:55:46
  • Python Numpy计算各类距离的方法

    2022-12-03 13:52:53
  • VBScript中清除数组元素Erase语句

    2008-06-27 13:05:00
  • 使用PHP获取当前url路径的函数以及服务器变量

    2023-10-31 02:31:34
  • python中数组和列表的简单实例

    2021-04-15 20:04:42
  • Python实现的端口扫描功能示例

    2022-06-25 10:42:04
  • Go中recover与panic区别详解

    2024-05-10 13:58:22
  • PHP的mysqli_select_db()函数讲解

    2023-06-07 18:59:44
  • 使用pandas读取文件的实现

    2022-10-20 14:00:42
  • Python基础之教你怎么在M1系统上使用pandas

    2023-09-02 12:56:23
  • win2008 R2 WEB环境配置之MYSQL 5.6.22安装版安装配置方法

    2024-01-25 10:25:17
  • 详解vue中$nextTick和$forceUpdate的用法

    2024-06-05 09:15:44
  • asp之家 网络编程 m.aspxhome.com