1. 程式人生 > >多線程之線程的安全問題

多線程之線程的安全問題

我們 pan 存在 進行 方式 ron span mut 線程

  線程在執行過程中,通過cpu的調度,執行軌跡不確定,對共享資源的訪問很容易造成數據的錯誤。我們稱這個錯亂稱為線程安全問題。

  

同步概念  

  原子性操作:一個操作要麽一次性做完,要麽根本不開始,不存在中間狀態。

  同步就是讓操作保持原子性,java提供了兩種方式實現同步。即同步代碼塊和同步方法。

  

  

同步代碼塊

  把需要同步的操作放到同步代碼塊中:

	@Override
	public void run() {
		synchronized(mutex){
			
		}
	}  

mutex 稱為互斥鎖/同步鎖。對共享資源進行加鎖實現同步。一般用共享資源作為同步鎖,也稱同步監視器。

同步方法

多線程之線程的安全問題