shell sleep用法_Python sleep()函数用法:线程睡眠

本文介绍了Python中的time模块中sleep()函数的使用,该函数可以使当前线程暂停指定秒数。通过示例代码展示了如何在线程中调用sleep(),并分析了其对线程调度的影响。程序执行结果显示主线程在sleep()函数暂停期间获得了更多的CPU资源执行机会。
摘要由CSDN通过智能技术生成

位于 time 模块中的 sleep(secs) 函数,可以实现令当前执行的线程暂停 secs 秒后再继续执行。所谓暂停,即令当前线程进入阻塞状态,当达到 sleep() 函数规定的时间后,再由阻塞状态转为就绪状态,等待 CPU 调度。

sleep() 函数位于 time 模块中,因此在使用前,需先引入 time 模块。

sleep() 函数的语法规则如下所示:

time.sleep(secs)

其中,secs 参数用于指定暂停的秒数,仍以前面章节创建的 thread 线程为例,下面程序演示了 sleep() 函数的用法:

import threadingimport time#定义线程要调用的方法,*add可接收多个以非关键字方式传入的参数def action(*add):    for arc in add:        #暂停 0.1 秒后,再执行        time.sleep(0.1)        #调用 getName() 方法获取当前执行该程序的线程名        print(threading.current_thread().getName() +" "+ arc)#定义为线程方法传入的参数my_tuple = ("http://c.biancheng.net/python/",\            "http://c.biancheng.net/shell/",\            "http://c.biancheng.net/java/")#创建线程thread = threading.Thread(target = action,args =my_tuple)#启动线程thread.start()#主线程执行如下语句for i in range(5):    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 调度。

4dc882323bd4affe3253977d4a8ecab2.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值