Q
锁定免费并发队列
2
A
回答
4
3
无锁意味着不使用锁。自旋等待不锁定。有许多方法可以在不使用锁的情况下同步对数据的访问。执行旋转等待是一个(很多)选项。并非所有的无锁代码都会使用自旋等待。
+2
不,它没有。无锁意味着保证全系统的进展。调用此函数的10个线程在状态未设置时将不会执行任何进度。你甚至可能在这里住锁。无锁算法中不能同时存在死锁和活锁,这就是无锁保证的全部要点。 – axe 2013-03-01 19:42:11
2
纺纱将CPU置于一个紧密的循环中,而不会使其当前处理器的剩余时间减少,从而避免用户提供的循环可能产生的问题。如果知道状态改变即将发生,这可能很有用。这对于普通代码来说是最好的选择,并且代表替代来锁定这种特殊情况。
所以是的,因为在.NET Framework中使用了术语锁,因此代码是无锁的。
相关问题
- 1. 锁定免费队列 - 单个生产者,多个消费者
- 2. C#锁定免费散列表#
- 3. 实现双锁并发队列
- 4. 并发队列使用Qt是死锁
- 5. 锁定免费容器和可见性
- 6. 并发访问,并免费堆对象
- 7. C++队列非锁定
- 8. 并发队列离队
- 9. 排队并发队列
- 10. 什么是更快的一个并发队列或8个无锁队列?
- 11. 并发锁定HashSet
- 12. 并发收集VS锁定列表
- 13. 避免并发删除造成死锁
- 14. AMQP basic.get并发消费者从队列中提取
- 15. 并行双链表 - 多生产者/消费者FIFO队列 - 死锁
- 16. 获取对两个互斥锁的锁定并避免死锁
- 17. Java并发:排队队列问题
- 18. 免费或廉价VCS与“锁”,而不是“合并”?
- 19. 免费团队经理申请?
- 20. 的Berkeley DB,并发队列
- 21. 生产者中的死锁消费者C#有界队列
- 22. 多生产者多消费者无锁(甚至等待)队列
- 23. 用于锁定操作或避免并发数据处理
- 24. IBM MQ传输队列独占锁定
- 25. 锁定一个队列中的Coldfusion
- 26. Fober et al无锁定FIFO队列:多个消费者和生产者?
- 27. 锁定/并发问题
- 28. 高并发系统锁定
- 29. 在C++中免费实现“有界优先级队列”
- 30. 免费合并工具
纺纱未锁定。你认为哪里锁定? – 2013-03-01 18:26:17
微软大声笑 – 2013-03-01 18:27:21
@ChristianStewart Aww,应该留下 - 给它一个很好的规范。 :) – JerKimball 2013-03-01 18:29:15