个性化阅读
专注于IT技术分析

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 time
  
def 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()

上面的程序有两个线程,我们已经使用time.sleep(0.5)和time.sleep(0.75)分别将这两个线程的执行挂起0.5秒和0.7秒。

赞(2)
未经允许不得转载:srcmini » python3 time.sleep()函数解释 – Python3教程

评论 抢沙发

评论前必须登录!