在回答Does a correctly synchronized program still allow data race?(Part I)時,它給了我們一個很好的例子:程序的所有執行看起來都是順序一致的,但它仍然有數據競爭。它告訴我們,爲什麼在JLS以下結論的另一個方向是不正確的:可能正確的程序不正確同步?
如果程序沒有數據競爭,那麼該程序的所有執行會顯得順序一致。
現在看看另一個conclucsion在JLS:
的程序是否能正確同步,當且僅當所有順序一致的執行都是免費的數據競爭。
根據這個結論,上面的例子沒有正確同步,所以正確的程序可能會被錯誤地同步嗎?
現** **這就是我所說的「很快」! –