![]() |
1
1
可能是一个(名字)
Semaphore
数到一?
|
![]() |
2
1
你链接到的问题是跨越进程边界,但从我读到的内容来看,你只是跨越线程。。。考虑到这一点,我认为Jeff Richter的ReaderWriterGate类可能很适合您的问题。它允许您控制对共享资源的访问,并将对资源的访问请求排队。它似乎没有任何线程关联,因此如果您没有跨越进程边界,它可能是您的解决方案。 这是一篇关于这门课的文章的链接。。。 Concurrent affairs 你可以下载 PowerThreading Library from here 如果你的情况真的很简单(除了从一个线程锁定和从另一个线程释放),我不明白为什么你不能使用内置的 ReaderWriterLock 在.NET中(尽管PowerThreading库中的那个应该要快得多)。这个 Monitor class 没有线程关联,可以从任何上下文访问,因此根据您使用它的方式,这可能是您最直接的解决方案。 |
![]() |
3
0
听起来像是 转门 问题。您需要管理第一个锁定文件的读卡器和最后一个离开解锁文件的读卡器。您可以使用信号量来实现这一点。 当有一个作家在等你的时候,你可以让旋转栅门拒绝读者,从而优先选择作者。 |
![]() |
a a · 为什么在这个可重入锁示例中需要引用计数? 3 年前 |
![]() |
JohnLBevan · 为什么原子语句上需要锁提示? 7 年前 |
![]() |
Jay Wang · 生产者/消费者实施:陷入消费者循环 7 年前 |
![]() |
Andremoniy · 悲观写入是否锁定整个表? 7 年前 |
![]() |
Marcus Cemes · 选择。。。用于更新在提交后选择旧数据 7 年前 |
![]() |
Ins0maniac · Rails,锁定数据库中的记录 7 年前 |