import threading #引入所需要的库
import time
def a(): #创建任务a
for i in range(3): #打印输出“线程1”,循环3遍,每一遍间隔1秒
print("线程1")
time.sleep(1)
def b(): #创建任务b
for i in range(3): #打印输出“线程2”,循环3遍,每一遍间隔1秒
print("线程2")
time.sleep(1)
def c(): #创建任务c
for i in range(3): #打印输出“线程3”,循环3遍,每一遍间隔1秒
print("线程3")
time.sleep(1)
def danmain(): #创建单线程任务,单线程大概需要9秒
a()
b()
c()
def duomain(): #创建多线程任务,多线程是三个任务一起执行,大概是3秒
t1 = threading.Thread(target=a) #创建第一个线程t1,执行任务a
t2 = threading.Thread(target=b) #创建第二个线程t2,执行任务b
t3 = threading.Thread(target=c) #创建第三个线程t3,执行任务c
t1.start() #启动线程t1
t2.start() #启动线程t2
t3.start() #启动线程t3
t1.join() #等待线程t1结束,再执行主线程打印输出任务
t2.join() #等待线程t2结束,再执行主线程打印输出任务
t3.join() #等待线程t3结束,再执行主线程打印输出任务
if __name__ == '__main__': #主线程
print("开始测试单线程:")
tt0 = time.time() # 记录任务开始时的时间
danmain() # 启动任务
tt00 = time.time() # 记录任务结束时的时间
tt = tt00 - tt0 # 计算时间差值,即任务执行所花费的时间
print("单线程共计消耗", tt, "秒") # 打印输出任务执行所花费的时间
print("开始测试多线程:")
tt1 = time.time() # 记录任务开始时的时间
duomain() # 启动任务
tt11 = time.time() # 记录任务结束时的时间
tt = tt11 - tt1 # 计算时间差值,即任务执行所花费的时间
print("多线程共计消耗", tt, "秒") # 打印输出任务执行所花费的时间
Python的单线程与多线程
于 2024-01-29 21:47:37 首次发布