假设我有三个需要访问集合的线程,并且我在每个线程的访问周围使用了一个锁块.发生以下情况......
(1)线程1获取集合上的锁定 (2)线程2被阻塞 (3)线程3被阻塞
当线程1释放锁定时,谁可以接下来锁定?是FIFO访问吗?
谢谢
你不应该关心谁接下来锁.
您的问题暗示您正在寻找FIFO行为?然后你可能想尝试Jakub Sloup的这段代码:
监视/锁定,记住C#中的顺序以模拟FIFO
正如在其他答案中已经提到的,没有保证订单等待线程将获得锁定.