Python多线程—threading模块详解

threading模块

threading模块是Python支持的多线程编程的重要模块,该模块是在底层模块_thread的基础上开发的更高层次的多线程编程接口,提供了大量的方法和类来支持多线程编程。

threading模块常用方法如下:

方法 功能说明
threading.active_count() 返回当前处于active状态的Thread对象
threading.current_thread() 返回当前Thread对象
threading.get_ident() 返回当前线程的线程标识符。线程标识符是一个非负整数,并无特殊含义,只是用来标识线程,该整数可能会被循环利用。Python3.3及以后版本支持该方法
threading.enumerate() 返回当前处于active状态的所有Thread对象列表
threading.main_thread() 返回主线程对象,即启动Python解释器的线程对象。Python3.4及以后版本支持该方法
threading.stack_size() 返回创建线程时使用的栈的大小,如果指定size参数,则用来指定后续创建的线程使用的栈大小,size必须是0(表示使用系统默认值)或大于32K的正整数

Thread对象

threading模块提供了Thread、Lock、RLock、Condition、Event、Timer和Semaphore等类来支持多线程,Thread是其中最重要也是最基本的一个类,可以通过该类创建线程并控制线程的运行。

使用Thread创建线程的方法:

  • 为构造函数传递一个可调用对象
  • 继承Thread类并在子类中重写__init__()和run()方法

Thread对象成员如下:

成员 说明
start() 自动调用run()方法,启动线程,执行线程代码
run() 线程代码,用来实现线程的功能与业务逻辑,可以在子类中重写该方法来自定义线程的行为
init(self, group=None, target=None, name=None, args=(), kwargs=None, daemon=None) 构造函数
name 用来读取或设置线程的名字
ident 线程标识,用非0数字或None(线程未被启动)
is_alive(), isAlive() 测试线程是否处于active状态
daemon 表示线程是否为守护线程,默认为False
join(timeout=None) 等待线程结束后超时返回

1. 创建多线程

import threading
import time


你可能感兴趣的:(Python,Python编程,多线程)