python 多线程运行 串行或并行
我们知道在 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个线程,一起并发也是并发在跑。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
2021-01-27 成功启动linux下的service-记录