什么是线程:
- 线程也是一种多任务编程方法,可以利用计算机多核资源完成程序的并发执行。线程又被称为轻量级的进程。
线程的特征:
- 线程是计算机多核分配的最小单位
- 一个进程可以包含多个线程
- 线程也是一个运行的过程,消耗计算机资源,多个线程共享进程的资源和空间
- 线程的创建删除消耗的资源都要远远小于进程
- 多个线程之间执行互不干扰
- 线程也有自己的特有属性,比如指令集 ID
Python中使用threading模块创建线程
主要方法:
threading.Thread()
- 功能:创建线程对象
- 参数:name(线程名称,默认Thread-1),target(线程函数),args(元组,给线程函数位置传参),kwargs(字典,给线程函数键值传参)
t.start()
- 功能:启动线程,自动运行线程函数
t.join([timeout])
- 功能:回收线程
- 参数(timeout):阻塞等待时间
线程对象属性:
t.is_alive()
- 功能:查看线程状态
t.setName()
- 功能:设置线程名称
t.getName() 或者 t.name
- 功能:获取线程名称
threading.currentThread()
- 功能:获取当前线程对象
t.daemon属性
- 默认情况主线程退出不会影响分支线程执行,如果设置为True则分支线程随主线程退出
设置方法(两种):
- t.daenon = True
- t.setDaemon(True)
判断属性值
t.isDaemon()
注意: t.daenon要在start前设置,不能和join同用
多线程代码实现实例:
from threading import Thread, currentThread
from time import sleep
import os
a = 100
#线程函数
def