.NET框架是否能够以某种方式实现对共享资源的访问,以致某些尝试访问该资源的Writer优先于其他资源?
我的问题有以下限制:
1.只能授予对资源的1个并发写入请求
2.有许多作家等待访问这个资源,但有些作家优先于其他作家(低优先级作家的饥饿是可以的).
3.线程亲和力是一项非要求.一个线程可以设置锁定,但另一个线程可以重置它.
4.所有Writer线程都来自同一个进程.
简而言之,我需要一个暴露其等待队列的原语,并允许对其进行修改访问.如果没有任何这样的东西,有关如何继续为自己构建一个的提示,使用已经可用的类,如Semaphore?
解决方法
使用优先级队列来保留挂起的请求列表.见:
Priority queue in .Net. 使用stanadrd Monitor功能来锁定并发出信号,如kenny所建议的那样.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。