java synchronized我的理解

2021-08-31 22:23:29 字數 746 閱讀 4305

——拋磚引玉、以下是我對同步的理解

有執行緒的地方就有同步,有同步的地方就有物件監視器。

要記住——執行緒可以繫結到任意物件上,執行緒可以和物件關聯這個機制就是同步

通俗講:可以把執行緒任意物件上,但是所有掛在此物件上的執行緒,同一時刻只有乙個執行緒能到鎖,得到鎖的執行緒才能繼續執行**。

synchronized(obj)
含義:當前執行緒掛到obj上,但是obj上掛的所有執行緒中只有唯一的乙個能得到obj鎖、這個執行緒才能執行大括號內的**。執行到右括號時,執行緒會自動釋放obj的物件鎖。

synchronized就是thread進obj的門,拿到鎖後,關門,其他人只能在門外等。thread完事後,開門離開了,其他人才能進來。

a thread run 

}other thread run //釋放obj上的鎖,所有掛在obj上的執行緒開始競爭鎖

}

///特別注意如果:other thread run中沒有obj.notifyall()這一句,那麼任何obj.wait暫掛的執行緒,在other thread run 的同步塊執行完畢後,因為還是暫掛狀態,故不會參與鎖的競爭,也就是說不會繼續執行,永遠的wait了。

java synchronized的幾個規則

對synchronized this 的一些理解 一 當兩個併發執行緒訪問同乙個物件object中的這個synchronized this 同步 塊時,乙個時間內只能有乙個執行緒得到執行。另乙個執行緒必須等待當前執行緒執行完這個 塊以後才能執行該 塊。二 然而,當乙個執行緒訪問object的乙個sy...

Java synchronized引數的討論

synchronize關鍵字引數測試類 synchronized 塊的測試 synchronized關鍵字引數必須是多個執行緒共享的變數,才能達到同步目的 例如 1.如果用了類裡面的乙個屬性object作為鎖,由於這個屬性 每乙個例項化物件都有乙份,所以執行發現3個執行緒都沒有同步 2.如果用了類物...

我對android中Activity的理解

一 activity是什麼 在我們的應用中,我們看到裝置螢幕顯示出來的東西都是屬於activity的,activity可以說是乙個平台,這個平台上我們用來展示view的各種子類 布局 控制項 自定義的view activity就像乙個魚缸或者窗戶,而view就像魚缸的水和魚,窗戶外面的風景。我們看到...