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