我一直在阅读一些关于ruby多线程编程的博客。我注意到作者倾向于使用线程安全这个词。这是什么意思?为什么编写线程安全代码很重要?线程安全是什么意思?
7
A
回答
7
如果你有一个资源(比如说一本书的全局列表),并且你有两个运行的线程可以修改这个列表。有很多情况下列表的数据会不一致。
- (线程A读取书ANDS显示其数据)
- (线程B删除同一本书,而数据由线程A使用)
- (线程A现在想要一些信息添加到书)
所以,你必须使你的代码线程安全,这样在任何时候只有一个单独的线程可以有书的名单写访问。
SpyrosP提到的死锁发生在线程A阻止列表写入并等待线程B在列表中添加数据时。因为两个线程都会等待对方做他们不能做的事情。只有在线程安全机制未正确实施的情况下才会发生这种情况。
相关问题
- 1. 线程安全是什么意思?
- 2. 你是什么意思Ruby on Rails不是线程安全的?
- 3. “这个方法不是线程安全的”是什么意思?
- 4. 线程是什么意思?
- 5. 线程安全的Ruby解释器是什么意思?
- 6. 在iOS中线程安全是什么意思?
- 7. 弹簧安全钩是什么意思?
- 8. 这是什么意思是“不可变的字符串是线程安全的”
- 9. 守护线程是什么意思?
- 10. “线程转储”是什么意思
- 11. 是什么意思:是什么意思?
- 12. 默认情况下使静态数据线程安全是什么意思?
- 13. “完全收敛”是什么意思?
- 14. 全球步骤是什么意思?
- 15. 什么意思是“git完全备份”?
- 16. %{}是什么意思?
- 17. '#'是什么意思?
- 18. “?”是什么意思?
- 19. #{...}是什么意思?
- 20. || =是什么意思?
- 21. @是什么意思
- 22. $$ $$是什么意思?
- 23. `/ * @`是什么意思?
- 24. “=”是什么意思
- 25. + =是什么意思?
- 26. {..} [..]是什么意思?
- 27. 什么是:!:意思?
- 28. @ []是什么意思?
- 29. 什么是“||”意思?
- 30. /([^.]*)\.(.*)/是什么意思?
+1思考你在读什么,不是每个人都会:-) – Chris 2011-03-11 09:03:48