我有一個多線程的SMTP服務器。每個線程照顧一個客戶端。我需要在每個服務器線程上設置10秒的超時值以終止休眠或行爲不當的客戶端。
我已經使用了time.time()
來查找開始時間和我的檢查點時間,差異顯示了運行時間。但我相信它給系統時間,而不是這個線程運行的時間。
在Python中是否有線程本地計時器API?如何在Python中查找線程的運行時間
import threading
stop = 0
def hello():
stop = 1
t=threading.Timer(10,hello)
t.start()
while stop != 1:
print stop
print "stop changed"
這將在循環中打印0(初始停止)並且不會從while循環中出來。
文檔說,你應該使用'time.clock'來計時而不是'time.time',但是也會給出處理器的時間,而不是線程的執行時間 –