-1

對於現代編譯器,語句「未同步的對象通常比同步的對象通常執行得更好」並非總是如此。同步對象與未同步對象

這是一個說法,我今天聽到幾次。我已經得到了斷言的兩種不同的解釋:

  1. 隨着現代編譯器的進步,同步徵收對象上的開銷可以如此之小,它可以直接被忽略。如果是這樣,現代編譯器如何實現這一目標?

  2. 存在其中同步對象和非同步對象,其中同步對象執行不同步大於一個更好同樣表現良好或者甚至箱子箱子。我不認爲這是可能的,但誰知道?

+1

凡誰,以及在什麼背景下你聽說了嗎? –

+0

@MarcovandeVoort請谷歌斷言引號,你可能會得到幾命中。 –

回答

1

的一種情況是當一個編譯器可以靜態確定對象是永遠不會由一個以上的線程通過線程間逃逸分析訪問。然後,編譯器可以使用未同步版本的方法來初始化「vtable」(或任何適當的方法調度機制)。

PS。以上是關於聲明的第一種解釋。