![]() |
1
73
极有可能
我
一定地
不会依赖它-如果你需要事情按顺序发生,建立一个
编辑:我刚在乔·达菲家找到这个 Concurrent Programming on Windows 基本同意:
“粗略的FIFO”位是我之前所想的,而“偷偷摸摸的线索”位则进一步证明了你不应该对FIFO排序做出假设。 |
![]() |
2
11
正常的CLR锁不能保证是FIFO。 但是,有一个 QueuedLock class in this answer 它将提供有保证的FIFO锁定行为 . |
![]() |
3
10
这个
事实上,杰弗里里克特的一篇文章表明
当然-这是一篇老文章,所以事情可能已经改变了,但鉴于合同中没有对
|
![]() |
4
2
与问题稍微有点相悖,但线程池甚至不能保证它将按添加的顺序执行排队的工作项。如果您需要异步任务的顺序执行,一个选项是使用TPL任务(也可以通过 Reactive Extensions ). 它看起来像这样:
这有几个优点:
|
![]() |
5
0
我用这个方法来做FIFO锁定
当线程在锁中等待时,ConcurrentQueue将命令执行操作。 |
![]() |
J. Defenses · 节点JS,NeDB-如何使同步返回到父模块 7 年前 |
![]() |
StefanoN · Java多线程-按顺序只运行一次线程运行方法 7 年前 |
![]() |
merlin2011 · Android线程方法是否隐式同步? 7 年前 |
![]() |
ninbura · ffmpeg-时间码和分数帧速率(复制帧) 7 年前 |
![]() |
ninbura · 分段时音频缓慢去同步 7 年前 |