Python 多线程 threading

多线程

线程是真正的执行单位,线程由进程创建,一个进程中至少包含一个线程。单任务的模型,就是一个进程管理一个线程。

threading是python内置的线程管理模块,我们可以通过这个模块实现多线程


多任务

import threading

def thread_1():
 # current_thread().name | 线程名称
 print(threading.current_thread().name)

def thread_2():
 print(threading.current_thread().name)

# 定义任务
t1 = threading.Thread(target=thread_1, args=(), name='Thread_1') # name 定义线程名称
t2 = threading.Thread(target=thread_2, args=(), name='Thread_2') 

# 启动任务
print(threading.current_thread().name) # 当前进程名称
t1.start() # 同步 t1.join | 结束 t1.terminate()
t2.start()

# 结果
'MainThread'
'Thread_1'
'Thread_2'

使用多线程的模型实现多任务,效率会比较高,但是由于线程之间都是在同一个内存空间,出了问题进程卡死,进程下的所以线程都会瘫痪

Python的线程不能调用多核CPU

Python 教程 Python 入门 Python 时间 Python JSON