python3 time.sleep()函数解释 – Python3教程

上一章Python教程请查看:python3时间time模块
sleep()函数在给定的秒数内挂起(等待)当前线程的执行。
Python有一个名为time的模块,它提供了几个有用的函数来处理与时间相关的任务。其中一个流行的函数是sleep()。
函数的作用是:在给定的秒数内挂起当前线程的执行。
示例1:Python sleep()

import time print("立即打印") time.sleep(2.4) print("2.4秒后打印")

下面是这个程序的工作原理:
  • “立即打印”被打印出来
  • 暂停(延迟)执行2.4秒。
  • 打印“2.4秒后打印”。
从上面的例子可以看出,sleep()采用浮点数作为参数。
在Python 3.5之前,实际的挂起时间可能小于time()函数指定的参数。
因为Python 3.5,所以暂停时间至少是指定的秒数。
例2:Python创建一个数字时钟
import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) time.sleep(1)

在上面的程序中,我们计算并打印了无限while循环中的当前本地时间。然后,程序等待1秒,同样,计算并打印当前的本地时间,这个过程还在继续。
当你运行程序,输出将是这样的:
02:10:50 PM 02:10:51 PM 02:10:52 PM 02:10:53 PM 02:10:54 PM ... .. ...

这里是上述程序的一个稍微修改过的更好的版本。
import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result, end="", flush=True) print("\r", end="", flush=True) time.sleep(1)

在Python中的多线程在讨论多线程程序中的sleep()之前,让我们先讨论一下进程和线程。
计算机程序是指令的集合,流程是这些指令的执行。
线程是进程的子集,一个进程可以有一个或多个线程。
例3:Python多线程
本文中的所有程序都是单线程程序,下面是一个多线程Python程序的例子。
import threading def print_hello_three_times(): for i in range(3): print("Hello")def print_hi_three_times(): for i in range(3): print("Hi") t1 = threading.Thread(target=print_hello_three_times) t2 = threading.Thread(target=print_hi_three_times) t1.start() t2.start()

上面的程序有两个线程t1和t2。这些线程使用t1.start()和t2.start()语句运行。
注意,t1和t2同时运行,可能会得到不同的输出。
多线程程序中的time.sleep()函数的作用是:在给定的秒数内挂起当前线程的执行。
对于单线程程序,sleep()挂起线程和进程的执行。但是,在多线程程序中,该函数挂起的是线程而不是整个进程。
例4:在多线程程序中使用sleep()
import threading import timedef print_hello(): for i in range(4): time.sleep(0.5) print("Hello")def print_hi(): for i in range(4): time.sleep(0.7) print("Hi") t1 = threading.Thread(target=print_hello) t2 = threading.Thread(target=print_hi) t1.start() t2.start()

【python3 time.sleep()函数解释 – Python3教程】上面的程序有两个线程,我们已经使用time.sleep(0.5)和time.sleep(0.75)分别将这两个线程的执行挂起0.5秒和0.7秒。

    推荐阅读