1. 程式人生 > >《併發程式設計》--9.執行緒安全和synchronizd關鍵字

《併發程式設計》--9.執行緒安全和synchronizd關鍵字

執行緒安全是並行開發的基礎。一般來說,程式並行就是為了獲得更高的執行效率,但是高效率不能犧牲正確性為代價,否則將毫無意義。

故jdk提供了synchronized關鍵字,來實現執行緒之間的同步。他的工作就是對同步的程式碼加鎖,使得這段程式碼有且只有一個執行緒執行,從而保證執行緒間的安全性

synchronized關鍵字可以有很多用法,我做了一個簡單的整理,如下

1.指定物件加鎖:進入同步程式碼前需要獲得指定物件的鎖

synchronized (entity) {
	... //同步程式碼塊
}

2.指定例項方法加鎖:進入同步程式碼需要獲得指定例項方法的鎖

public  synchronized void increase(){
	... //同步程式碼塊
}

3.指定靜態方法加鎖:相當於對當前類加鎖,進入同步程式碼需要獲得當前類的鎖

	public static synchronized void increase(){
			... //同步程式碼塊
	}