如果需要讓當前正在執行的線程暫停一段時間,並進入阻塞狀態,則可以通過調用 time 模塊的 sleep(secs) 函數來實現。該函數可指定一個 secs 參數,用於指定線程阻塞多少秒。
當前線程調用 sleep() 函數進入阻塞狀態后,在其睡眠時間段內,該線程不會獲得執行的機會,即使系統中沒有其他可執行的線程,處於 sleep() 中的線程也不會執行,因此 sleep() 函數常用來暫停程序的運行。
下面程序調用 sleep() 函數來暫停主線程的執行,因為該程序只有一個主線程,當主線程進入睡眠后,系統沒有可執行的線程,所以可以看到程序在 sleep() 函數處暫停。
import time for i in range(10): print("當前時間: %s" % time.ctime()) # 調用sleep()函數讓當前線程暫停1s time.sleep(1)
上面程序將當前執行的線程暫停 1s。運行上面的程序,將看到程序依次輸出 10 個字符串,輸出兩個字符串的時間間隔為 1s。