python3 多线程的基本用法
#coding=utf- 8 import threading #导入threading包 from time import sleep import time def task1(): print ( "Task 1 executed." ) sleep( 1 ) def task2(): print ( "Task 2 executed." ) sleep( 5 ) print( "多线程:" ) starttime=time.time(); #记录开始时间 threads = [] #创建一个线程列表,用于存放需要执行的子线程 t1 = threading.Thread(target=task1) #创建第一个子线程,子线程的任务是调用task1函数,注意函数名后不能有() threads.append(t1)#将这个子线程添加到线程列表中 t2 = threading.Thread(target=task2)#创建第二个子线程 threads.append(t2)#将这个子线程添加到线程列表中 for t in threads: #遍历线程列表 t.setDaemon(True) #将线程声明为守护线程,必须在start() 方法调用之前设置,如果不设置为守护线程程序会被无限挂起 t.start() #启动子线程 endtime=time.time();#记录程序结束时间 totaltime=endtime-starttime;#计算程序执行耗时 print ( "耗时:{0:.5f}秒" .format(totaltime)); #格式输出耗时 print( '---------------------------' ) #以下为普通的单线程执行过程,不需解释 print( "单线程:" ) starttime=time.time(); task1(); task2(); endtime=time.time(); totaltime=endtime-starttime; print ( "耗时:{0:.5f}秒" .format(totaltime)); |
结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具