3

1 ~ 180 秒のランダムな秒数だけスリープするテスト スクリプトがあります。テスト プログラムが 3 分以上ハングします。

そこで、60 秒 (1 分) スリープするようにコードを変更し、スクリプトを実行しました。20 時間後 (!!!)、コードはまだ time.sleep() でハングしています。

コードは

downtime = 60
time.sleep(downtime)

Python が time.sleep(60) で永久にハングするのはなぜですか?

4

3 に答える 3

5

2 つの異なる変数downtimedownTimeを使用します。おそらく、downTimeが 60 より大きい

于 2012-06-05T18:42:04.440 に答える
4

要求よりもtime.sleep()短い、または長い間隔でスレッドを一時停止することが許可されていてもtime.sleep(60)、スレッドを 20 時間一時停止することはありません。

いくつかの可能な説明を見ることができます:

  1. 複数回呼び出しtime.sleep()ています (ループなど)。
  2. time.sleep()60 をはるかに超える引数を使用して呼び出しています (コード内でdowntime/を綴っている 2 つの異なる方法に注意してください)。downTime
  3. 問題は とは関係ありませんtime.sleep()
于 2012-06-05T18:41:48.337 に答える