如果有多个线程都在等待同一个锁,则可能使主线程在获取锁时具有更高的优先级。这意味着,如果工作线程在主线程之前进入lock
语句,则主线程将在其他已经在其上等待的线程之前获得锁。
最佳答案
不,lock
语句映射到System.Threading.Monitor.Enter()
(MSDN),并且没有接受优先级参数的重载。
我能想到的最接近的东西是ReaderWriterLock(Slim),但我会认真考虑重新考虑导致此请求的设计。可能有更好的方法来实现您的需求。
关于C#是否可以更改获取锁的优先级?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12942998/