我们在同一台计算机(Windows)上有多个线程/进程(.net,由我们编写)。
我们需要那些进程能够同时从共享资源中读取,但是只有一个进程可以写(写过程中没有读取器)。
我们还需要支持重入,即资源可以被同一进程/线程多次锁定而不会导致死锁。
该解决方案应该足够快地工作(<1ms的获取/释放锁定周期)。
有什么想法/已知的实现方式吗?
最初,我们使用互斥量+信号量实现了a solution,但随后意识到信号量不支持重入。我猜该信号量可以用互斥量数组代替(互斥量的数量=支持的并发条目的最大数量),但是我想知道是否有更优雅的解决方案。