我们知道在 python 中运行多线程程序很简单,只需要几步,创建线程,start线程即可,下面简单说下多线程的串行或者并行的使用示例:
# -*- coding: utf-8 -*-
# @Time : 2024-01-27 14:03
import threading
import time
def run(name:str) -> None:
time.sleep(3)
print("Thread: {} is running!\n".format(name))
time.sleep(3)
def serial_threads_run():
print("serial threads running...")
start = time.time()
for i in range(5):
t = threading.Thread(target=run, args=("Thread-"+str(i),))
t.start()
t.join()
print("time cost: {}s".format(round(time.time()-start, 2)))
def parallel_threads_run():
print("parallel threads running...")
start = time.time()
threads_list = []
for i in range(5):
t = threading.Thread(target=run, args=("Thread-"+str(i),))
threads_list.append(t)
t.start()
for t in threads_list:
t.join()
print("time cost: {}s".format(round(time.time() - start, 2)))
if __name__ == "__main__":
serial_threads_run()
# parallel_threads_run()
运行串行的结果:
serial threads running...
Thread: Thread-0 is running!
Thread: Thread-1 is running!
Thread: Thread-2 is running!
Thread: Thread-3 is running!
Thread: Thread-4 is running!
time cost: 30.03s
可以看到,我们在每个线程内让线程休眠6s,5个线程如果串行就是30s,外加其他的一些时间,所以在30s左右。
运行并行的结果:
parallel threads running...
Thread: Thread-3 is running!
Thread: Thread-1 is running!
Thread: Thread-0 is running!
Thread: Thread-2 is running!
Thread: Thread-4 is running!
time cost: 6.01s
可以看到总共就是6s左右,即使5个线程,一起并发也是并发在跑。
标签:run,Thread,python,start,running,threads,time,串行,多线程 From: https://www.cnblogs.com/davis12/p/17991402