當我讀了「在實踐中Java併發」 C03,我被下面的程序混淆輸出可能爲零,但我已經嘗試了很多次,輸出始終是42. 所有的原因是我太幸運了?Java線程的知名度
回答
所有的原因是我太幸運了?
不一定。它將取決於您的處理器架構和JVM實現。這是微妙的記憶模型問題的問題之一:它們可能很難在野外繁殖。
好的,我明白了。謝謝 – 2012-03-26 07:36:36
我不明白。在數字設置爲42之前,攝像頭準備狀態如何?也就是說,如果沒有其他線程正在改變它們。 – Burkhard 2012-03-26 08:31:08
@Burkhard:假設我在不同的郵箱中向同一個人發了兩封信。第二次發佈的內容實際上可能會在首先發布的內容之前到達收件人。線程之間的內存可見性也是如此。 – 2012-03-26 08:41:54
- 1. NIO和跨線程的ByteBuffers知名度
- 2. Java線程通知()與notifyAll()
- 3. 線程:設置複選框的知名度
- 4. Java線程調度分離
- 5. typedef知名度
- 6. Java:線程控制線程速度/更改線程延遲
- 7. 調度組 - 無法通知主線程
- 8. 通過線程名稱或ThreadGroup名稱終止線程 - Java
- 9. 通知欄知名度
- 10. 進度條與線程(的Java Swing)
- 11. 的Java多線程:作業調度
- 12. Java:等待線程異常通知
- 13. Java線程等待並通知
- 14. Java - 無法通知等待線程?
- 15. java中沒有通知線程
- 16. Java線程調度:比處理器更忙的等待線程?
- 17. 的JavaScript OOP的知名度
- 18. XAML itemscontrol知名度
- 19. 菜單知名度
- 20. php oops:知名度
- 21. 可變知名度
- 22. 名稱2 Java虛擬機的線程
- 23. C++主線程通知線程通知主線程
- 24. 校驗塊的知名度
- 25. 爪哇 - 如何確保一個Callable線程返回數組的知名度
- 26. 在命令行java進度條[線程]
- 27. JAVA:如何設置線程名稱(RMI)?
- 28. 在Java中重命名線程
- 29. 的Java,知名度和無限循環發生
- 30. 知名度不會出現在我的java代碼中
此問題與[this one]完全相同(http://stackoverflow.com/questions/1919469/question-about-java-concurrency-in-practice-example)。 – xea 2012-03-26 08:55:01