亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

Python 睡眠()

Python 睡眠()

sleep() 函数暂停(等待)当前线程的执行给定的秒数。

Python 有一个名为 time 的模块,它提供了几个有用的函数来处理与时间相关的任务。其中一个流行的函数是 sleep() .

sleep() 函数将当前线程的执行暂停给定的秒数。


示例 1:Python sleep()


import time

print("Printed immediately.")
time.sleep(2.4)
print("Printed after 2.4 seconds.")

下面是这个程序的工作原理:

从上面的例子可以看出,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 shell 中的数字时钟。


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

当你运行程序时,输出会是这样的:


Hello
Hello
Hi
Hello
Hi
Hi

上面的程序有两个线程t1t2 .这些线程使用 t1.start() 运行 和 t2.start() 声明。

请注意,t1t2 同时运行,你可能会得到不同的输出。

访问此页面以了解有关 Python 中的多线程的更多信息。


多线程程序中的time.sleep()

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秒。

推荐阅读: Python time.sleep() 休眠线程


Python

  1. Python 数据类型
  2. Python 运算符
  3. Python pass 语句
  4. Python 函数参数
  5. Python字典
  6. Python 迭代器
  7. Python 闭包
  8. Python 日期时间
  9. 如何在 Python 中获取当前日期和时间?
  10. Python获取当前时间
  11. Python时间模块
  12. Python Timeit() 与示例