【发布时间】:2012-02-14 14:10:12
【问题描述】:
我想知道监视器类。 据我所知,所有等待线程都不是 FIFO。 第一个获得锁的人并不总是等待队列中的第一个。 它是否正确? 有什么办法可以保证FIFO条件吗?
问候
【问题讨论】:
-
好问题。你读过这个吗? stackoverflow.com/questions/5111779/…
-
为什么fifo很重要?因为你不能真正保证线程到达的顺序。此外,对于异步调用过程 (APC),您甚至无法保证在返回等待锁之前不会暂时借用等待线程来服务回调。
-
@ChrisChilvers FIFO 很重要!以至于微软现在引入了保证 FIFO 行为的锁。
-
@adelphus 我同意。你能指出哪些锁可以保证 FIFO 行为吗??
-
恐怕不在 .NET 中。我所说的锁处于内核模式:msdn.microsoft.com/en-us/library/windows/hardware/…
标签: c# .net multithreading .net-4.0