当前位置:  开发笔记 > 编程语言 > 正文

锁定声明C#

如何解决《锁定声明C#》经验,为你挑选了2个好方法。

假设我有三个需要访问集合的线程,并且我在每个线程的访问周围使用了一个锁块.发生以下情况......

(1)线程1获取集合上的锁定
(2)线程2被阻塞
(3)线程3被阻塞

当线程1释放锁定时,谁可以接下来锁定?是FIFO访问吗?

谢谢



1> Amy B..:

你不应该关心谁接下来锁.


你可以延伸说你*不能照顾.也许.
http://msdn.microsoft.com/en-us/library/aa645740(VS.71).aspx#vcwlkthreadingtutorialexample4mutex"运行样本的机器的速度和操作系统会影响输出顺序."

2> Dirk Vollmar..:

您的问题暗示您正在寻找FIFO行为?然后你可能想尝试Jakub Sloup的这段代码:

监视/锁定,记住C#中的顺序以模拟FIFO

正如在其他答案中已经提到的,没有保证订单等待线程将获得锁定.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有