我一直在閱讀一些關於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