我在C#.NET 3.5中。 看來,通過從同一個線程註冊超過10個System.Threading.Timers導致第一個以某種方式消失... 雖然不能相信它。如果那是真的,我會更加震驚。可以從一個線程使用System.Threading.Timer啓動多少個線程(定時器)?
這裏是行,我在那裏啓動一個定時器,每次有新郵件到達時:
System.Threading.Timer tmr = new System.Threading.Timer(WaitAckElapsedTmrHandler, msgId, Constants.TIME_TO_WAIT_FOR_ACK, Timeout.Infinite);
還有什麼可能是我的問題嗎? 我相信已經正確地鎖定了所有的線程共享資源,甚至仔細記錄了所有進/出鎖區域 - >所以我看不到任何死鎖。
如何在這種情況下檢測到死鎖?
情況並非如此。創建多個'Timer'對象不會破壞較早的對象。 – Servy