Sol*_*Out 1 c# multithreading timer
我在C#.NET 3.5中.看来,通过从同一个线程注册超过10个System.Threading.Timers会导致第一个以某种方式死掉......但不能相信它.如果这是真的,我会感到震惊.
这是我每次收到新消息时启动计时器的行:
System.Threading.Timer tmr = new System.Threading.Timer(WaitAckElapsedTmrHandler, msgId, Constants.TIME_TO_WAIT_FOR_ACK, Timeout.Infinite);
Run Code Online (Sandbox Code Playgroud)
还有什么可能是我的问题?我相信已正确锁定所有线程共享资源,甚至仔细记录锁定区域的所有进出 - >所以我看不到任何死锁.
在这种情况下如何检测死锁?