我想知道在已经获得 Monitor 的线程上调用 Threa.Sleep 是否会在进入休眠之前释放锁:
object o = new object();
Montior.Enter(o);
Thread.Sleep(1000);
Monitor.Exit(o);
当线程挂起时 - 其他线程能否获取o
?
最佳答案
不,线程在挂起/ sleep 之前不会释放锁
并且在休眠线程唤醒并释放锁定对象之前,没有其他线程能够获取o
关于c# - 在 .net 中的 lock 语句中调用 Thread.Sleep(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9454472/