Java 多執行緒程式設計核心技術6 單例模式與多執行緒

2021-09-14 02:50:29 字數 1000 閱讀 8937

立即載入就是使用類的時候已經將物件建立完畢,常見的實現辦法就是直接new例項化。而立即載入從中文的語境來看,有「著急」、「急迫」的含義,所以也稱為「餓漢模式」。

package com.zxf.demo.singleton_0;

public class myobject

public static myobject getinstatance()

}

延遲載入就是在呼叫get()方法時例項才被建立,常見的實現辦法就是在get()方法中進行new例項化。而延遲載入從中文的語境來看,是「緩慢」、「不急迫」的含義,所以也稱為「懶漢模式」。

package com.zxf.demo.singleton_1;

public class myobject

public static myobject getinstatance()else

return myobject;

}}

此方法加入同步synchronized關鍵字得到相同的例項物件,,但此方法的執行效率非常低下,是同步執行的,下乙個執行緒想要取得物件,則必須等上乙個執行緒釋放鎖之後,才可以繼續執行。

使用dcl雙檢查機制來實現多執行緒環境中的延遲載入單例設計模式。

new狀態是執行緒例項化後還從未執行start()方法時的狀態,而runnable狀態是執行緒進入執行的狀態,terminated是執行緒被銷毀時的狀態。

執行sleep()方法後執行緒的狀態是timed_waiting。blocked狀態出現在某乙個執行緒在等待鎖的時候。

執行wait()方法後執行緒的狀態列舉值就是waiting。

執行緒組的作用是,可以批量的管理執行緒或者執行緒物件,有效地對執行緒活執行緒組物件進行組織。

所謂的1級關聯就是父物件中有子物件,但不建立子孫物件。

類******dateformat主要負責日期的轉換與格式化,但在多執行緒環境中,使用此類容易造成資料轉換及處理的不準確,因為******dateformat類並不是執行緒安全的。

《java多執行緒程式設計核心技術》核心筆記 一

執行緒具有優先順序 執行緒的優先順序具有繼承特性。被呼叫者繼承呼叫者的優先順序 優先順序高的執行緒 絕大部分會現執行 方法內的變數是執行緒安全的。多個執行緒訪問同乙個物件的同步方法時,一定是執行緒安全的。synchronized取得的是物件鎖 多個執行緒訪問乙個物件 synchronized 如果乙...

Java多執行緒 程式設計核心技術4Lock

執行緒間同步互斥,且嗅探鎖定 多路分支通知,使用上較synchronized靈活 呼叫該物件的lock 獲取鎖,unlock 釋放鎖 借助condition實現等待 通知模式 condition 物件監視器 是jdk5 靈活性 多路通知 乙個lock物件中建多個condition例項,執行緒物件可以...

Java多執行緒 程式設計核心技術5 Lock

1 計畫時間早於當前時間,提前執行 2 timertask類的cancel 方法 將自身從任務佇列中清除 3 timer類的cancel方法 清空任務佇列的全部任務 如果該方法沒有搶到鎖,任務還是繼續執行 4 schedule timertask task long delay,long perio...