Python sleep()函数用法:线程睡眠
位于 time 模块中的 sleep(secs) 函数,可以实现令当前执行的线程暂停 secs 秒后再继续执行。所谓暂停,即令当前线程进入阻塞状态,当达到 sleep() 函数规定的时间后,再由阻塞状态转为就绪状态,等待 CPU 调度。
sleep() 函数位于 time 模块中,因此在使用前,需先引入 time 模块。
sleep() 函数的语法规则如下所示:
time.sleep(secs)
其中,secs 参数用于指定暂停的秒数,
仍以前面章节创建的 thread 线程为例,下面程序演示了 sleep() 函数的用法:
1 import threading 2 import time 3 #定义线程要调用的方法,*add可接收多个以非关键字方式传入的参数 4 def action(*add): 5 for arc in add: 6 #暂停 0.1 秒后,再执行 7 time.sleep(0.1) 8 #调用 getName() 方法获取当前执行该程序的线程名 9 print(threading.current_thread().getName() +" "+ arc) 10 #定义为线程方法传入的参数 11 my_tuple = ("http://c.biancheng.net/python/",\ 12 "http://c.biancheng.net/shell/",\ 13 "http://c.biancheng.net/java/") 14 #创建线程 15 thread = threading.Thread(target = action,args =my_tuple) 16 #启动线程 17 thread.start() 18 #主线程执行如下语句 19 for i in range(5): 20 print(threading.current_thread().getName())
程序执行结果为:
MainThread MainThread MainThread MainThread MainThread Thread-1 http://c.biancheng.net/python/ Thread-1 http://c.biancheng.net/shell/ Thread-1 http://c.biancheng.net/java/
可以看到,和未使用 sleep() 函数的输出结果相比,显然主线程 MainThread 在前期获得 CPU 资源的次数更多,因为 Thread-1 线程中调用了 sleep() 函数,在一定程序上会阻碍该线程获得 CPU 调度。
分类:
python进程和线程之网络编程
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)