我正在寫一個令牌環局域網的模擬,並試圖在一個單獨的線程中運行一個定時器到我的主程序來檢查超時接收「活動狀態「從顯示器上。我在其他節點之前啓動監視器程序,它們在發送和「活動狀態」之前都有相同的等待時間,或者開始選擇新的監視器,但節點程序似乎在監視器之前超時。併發程序中的Python time.time()可靠性
這只是在python中的併發問題還是更可能是我的代碼問題?
這裏是一個線程運行,如果你需要更多的信息只是問
def timer():
global reset
global ismonitor
global mToSend
global dataToSend
reset = time.time()
send_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while 1:
timer = time.time()
elapsed = timer - reset
if elapsed > 5:
if ismonitor:
mToSend = "110000" ## send around a token with a monitor alive flag on the broadcast channel
mToSend += maddr
dataToSend = True
reset = time.time()
else:
holdelection()
reset = time.time()
我知道它們沒有正確的併發,但希望它不會太多的問題,看起來我是錯誤。感謝您的鏈接和答案,我會看看使用流程,看看它是如何發展的。 – Cob50nm 2013-03-26 11:19:09