執行緒 同步與死鎖

2021-08-07 20:28:15 字數 1456 閱讀 9373

一,本章目標

①了解執行緒同步的作用

②了解同步**塊及同步方法的作用

③了解死鎖的產生

二,具體內容

說明:在多執行緒的開發中,同步與死鎖的概念是非常重要的,一定要掌握以下幾點:

①那裡需要絨布

②如何實現同步,**了解即可

③實現同步之後有什麼***

問題引出:以賣火車票為例,如果想買火車票,可以去火車站購買或者去各個售票點,但是火車的票數是固定的,如果把各個售票點理解為各個執行緒的話,那麼火車票應該是各個執行緒所共享的資源。

問題出來了,多個執行緒之間加入延遲操作,賣出的票數出現負數了

使用同步解決資源共享的問題,可以使用同步**塊或者同步方法來完成。

同步**塊

四級不同的**塊:

①普通**塊:直接定義在方法之中

②構造快:直接定義在類中,優先於構造方法執行,重複呼叫

③靜態塊:使用static關鍵字宣告,優先於構造快,只執行一次

④同步**塊:使用synchronized關鍵字宣告

同步的時候必須指明物件,一般情況下使用當前物件,用this關鍵字表示。

加入同步**塊之後,雖然解決了資源共享問題,但是程式速度下降,比非同步操作要慢

同步方法:

2.2死鎖

資源共享的時候需要同步操作。

程式中過多的同步會產生死鎖。

死鎖表示在一般情況下表示就是互相等待,是程式執行的時候出現的一種問題。

三,總結 

多個執行緒在訪問同一資源的時候需要使用同步

同步使用synchronized關鍵字完成,分為同步**塊和同步方法

執行緒同步與死鎖

執行緒同步與死鎖 課程大綱 一 多執行緒共享資料 1 在多執行緒的操作中,多個執行緒有可能同時處理同乙個資源,這就是多執行緒中的共享資料。二 執行緒同步 1 解決資料共享問題,必須使用同步,所謂同步就是指多個執行緒在同乙個時刻只能有乙個執行緒執行指定 其他執行緒要等到該執行緒執行結束之後才能繼續執行...

執行緒死鎖與同步

同步死鎖是指兩個或兩個以上的程序在執行過程中,由於競爭資源或者由於彼此通訊而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的程序稱為死鎖程序。當系統中供多個程序共享的資源如印表機,其數目不足以滿足各個程序的需要時,會引起各個程序對...

多執行緒 同步與死鎖

多個操作在同一時間內 只能有乙個執行緒執行,其他執行緒要等此執行緒完成之後才能繼續執行。要解決資源共享的同步操作問題,可以使用同步 塊和同步方法完成。1.1 同步 塊 塊分四種 1 普通 塊 是直接定義在方法之中的。2 構造塊 是定義在類中的,優先於構造方法執行,可以重複呼叫 3 靜態塊 是使用st...