C#是否可以改变获取锁的优先级?

Nic*_*yev 7 c# multithreading

如果有多个线程在同一个锁上等待,则主线程可能在获取锁时具有更高的优先级.这意味着如果工作线程转到lock主线程之前的语句,主线程将在已经等待它的其他线程之前获取锁.

Hen*_*man 7

不,lock语句映射到System.Threading.Monitor.Enter()(MSDN)并且没有接受优先级参数的重载.

我能想到的最接近的是ReaderWriterLock(Slim),但我会认真地重新考虑导致这个请求的设计.可能有更好的方法来实现您的需求.

  • 关于。“我会认真重新考虑设计”——这个请求与这个请求不相似吗,例如 /sf/ask/816662731/ -锁定?作为目标/设计,似乎 100% 合法。在这种情况下你会如何改变设计?看来不可能... (2认同)