如果需要让当前正在执行的线程暂停一段时间,并进入阻塞状态,则可以通过调用 time 模块的 sleep(secs) 函数来实现。该函数可指定一个 secs 参数,用于指定线程阻塞多少秒。
当前线程调用 sleep() 函数进入阻塞状态后,在其睡眠时间段内,该线程不会获得执行的机会,即使系统中没有其他可执行的线程,处于 sleep() 中的线程也不会执行,因此 sleep() 函数常用来暂停程序的运行。
下面程序调用 sleep() 函数来暂停主线程的执行,因为该程序只有一个主线程,当主线程进入睡眠后,系统没有可执行的线程,所以可以看到程序在 sleep() 函数处暂停。
import timefor i in range(10):print("当前时间: %s" % time.ctime())# 调用sleep()函数让当前线程暂停1stime.sleep(1)
上面程序将当前执行的线程暂停 1s。运行上面的程序,将看到程序依次输出 10 个字符串,输出两个字符串的时间间隔为 1s。