线程
是真正的执行单位
,线程由进程创建,一个进程中至少包含一个线程。单任务
的模型,就是一个进程管理一个线程。
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
。