工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Pythonスリープ()

Python スリープ()

sleep() 関数は、指定された秒数の間、現在のスレッドの実行を一時停止 (待機) します。

Python には time という名前のモジュールがあり、時間関連のタスクを処理するためのいくつかの便利な関数を提供します。その中で人気のある関数の 1 つが 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 シェルのデジタル時計にアクセスしてください。


Python でのマルチスレッド

sleep() について話す前に マルチスレッド プログラムでは、プロセスとスレッドについて話しましょう。

コンピュータプログラムは、命令の集まりです。プロセスとは、これらの命令の実行です。

スレッドはプロセスのサブセットです。プロセスは 1 つ以上のスレッドを持つことができます。


例 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

上記のプログラムには 2 つのスレッド t1 があります と t2 .これらのスレッドは t1.start() を使用して実行されます と t2.start()

t1 に注意してください と t2 同時に実行すると、異なる出力が得られる場合があります。

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

上記のプログラムには 2 つのスレッドがあります。 time.sleep(0.5) を使用しました および time.sleep(0.75) これら 2 つのスレッドの実行をそれぞれ 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 Get 現在時刻
  11. Python 時間モジュール