このチュートリアルでは、Pythonの時間をかけて行きます。sleep()メソッド。 前のチュートリアルでは、さまざまなタイミングタスクを実行するためのデフォルトのユーティリティライブラリで
Pythonの時間。sleep()メソッドは、現在のプログラム/スレッドの実行を所定の時間停止するために使用されます。
現在のプログラム/スレッドはこの期間には本質的に何もしていないので、現在の状態から再開する前にその時間”スリープ”します。
現在のプログラム/スレッドは、,
この関数をどのように使うことができるかを見てみましょう。
Pythonの時間。sleep()使用法
この関数はtime
モジュールの一部であるため、timeのようなドット表記を使用して呼び出します。スリープ()。 最初にtimeモジュールをインポートする必要があ
import time
ここで、プログラムの実行を停止するには、引数として秒数を指定する必要があります。,
Output
Going to sleep for 5 secondsWoke up after 5 seconds
あなたのマシンでこれを試してみると、プログラムはその間スリープしているので、二つの出力の間に5秒間停止します。
秒数を浮動小数点数として指定することもできるので、0.001
秒(1ミリ秒)または0.0000001
秒(1マイクロ秒)でスリープできます。
これにより、浮動小数点およびクロック精度の制限内で遅延ができるだけ正確になります。,
Output
Going to sleep for 2 millisecondsWoke up after 2 milliseconds
睡眠の正確な時間を測定するには、time.time()
タイマーを開始するメソッドを使用できます。 タイマーの開始値と終了値の違いは、実行時間になります。
上記のプログラムで実際の睡眠時間をテストしましょう。
出力
Going to sleep for 2 millisecondsWoke up after 0.0020711421966552734 seconds
ここでは、ご覧のとおり、時間は正確に2ミリ秒ではありません。 それは約あります2.071
ミリ秒、これはそれよりわずかに大きいです。,
これは、オペレーティングシステムからのリソースの割り当て、プロセススケジューリングなどの遅延によるもので、わずかな遅延を引き起こす可能性
特定の時間インスタンスでのオペレーティングシステムの正確な状態がわからないため、この遅延の程度は異なります。
時間に対する可変時間遅延。sleep()
何らかの理由で異なる量の遅延が必要な場合は、変数をtime.sleep()
渡すことができます。,
import timedelays = for delay in delays: print('Sleeping for', delay, 'seconds') time.sleep(delay)
Output
Sleeping for 1 secondsSleeping for 1.5 secondsSleeping for 2 seconds
time.sleep()
私たちのプログラムでは、スレッドに対しても同じことを行うことができます。
Python時間を使用します。sleep()on a Thread
これは、複数のスレッドが特定のリソースが解放されるのを待つ必要があるため、マルチスレッドのコンテキストで便利な関数です。
以下のスニペットは、Pythontime.sleep()
を使用して、複数のスレッドを待機させて出力を出力する方法を示しています。,
Output
Starting Worker Thread....Worker Thread 0Starting Waiter Thread....Waiter thread 10Main thread finished!Worker Thread 1Waiter thread 11Worker Thread 2Waiter thread 12Worker Thread 3Waiter thread 13Waiter thread 14
ここで、メインスレッド(プログラム)の実行は、二つのスレッドの実行とは独立しています。 したがって、メインプログラムは最初に終了し、その後にWorker
とWaiter
スレッドが続きます。
結論
この記事では、Pythonのtime.sleep()
関数をさまざまな方法で使用することについて学びました。