.NET框架是否提供以某种方式实现对共享资源的访问的能力,以使某些尝试访问该资源的作家将享有比其他作家更高的优先权?

我的问题有以下限制:
1.只能授予对资源的1个并发写请求
2.有许多作家正在等待对该资源的访问,但是有些作家要优先于其他作家(低优先级作家的饿死是可以的)。
3.线程亲和力是一个非要求。一个线程可以设置该锁,但另一个可以重置它。
4.所有Writer线程都来自同一进程。

简而言之,我需要一个公开其等待队列并允许对其进行修改访问的原语。如果没有这样的东西,那么如何使用已经存在的类(例如信号量)来为自己建立一个技巧?

最佳答案

使用优先级队列保留未决请求的列表。看到这里:ojita。
按照肯尼(Kenny)的建议,使用标准的“监视器”功能锁定并发出信号,指示何时执行操作。

10-04 23:39