java畢向東聽課筆記14(執行緒3)

2021-07-11 04:59:00 字數 416 閱讀 2294

死鎖:

為什麼出現:同步中巢狀同步,而鎖卻不同。

在開發中,應該盡量避免死鎖。

執行緒間的通訊:

其實就是多個執行緒在操作同一資源,但是操作的動作不同。

等待喚醒機制:

wait();notify();notifyall();都使用在同步中,因為要對持有監視器(鎖)的執行緒操作。

所以要使用在同步中,因為只有同步才有鎖。

為什麼這些操作執行緒的方法都要定義在object類中呢?

因為這些方法在操作同步中線程時,都必須要標識他們所操作執行緒持有的鎖,

只有同乙個鎖上的被等待執行緒,可以被同乙個鎖上的notify喚醒。

不可以對不同鎖種的執行緒進行喚醒。

也就是說,等待和喚醒必須是同乙個鎖,而鎖可以是任意物件,所以可以被任意物件呼叫的方法定義在object類中

java畢向東聽課筆記10(異常)

異常 一般情況下,函式內出現異常,函式上需要宣告。發現列印的結果中只有異常的名稱,卻沒有異常的資訊。因為自定義的異常並未定義資訊。如何定義異常資訊呢?因為父類中已經把異常資訊的操作都完成了。所以子類只要在構造時,將異常資訊傳遞給父類通過super語句。那麼就可以直接通過getmessage方法獲取自...

學習筆記 Java 畢向東 建立執行緒

1 建立執行緒 繼承thread類 建立執行緒class demo extends thread public void run class mythreaddemo 售票程式class ticket extends thread class myticketdemo 2 建立執行緒 實現runna...

java畢向東聽課筆記17(字串1)

string s1 abc 其中s1是乙個類型別變數,abc 是乙個物件。字串最大的特點 一旦被初始化就不可以被改變。如果在接下來的語句中寫出s1 kk 只能說明s1的位址變了,指向了 kk 物件,而在記憶體中,abc 物件並沒有變,所以成為一旦初始化就不可以改變。字串也可以這樣初始化 string...