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