多執行緒 知識點總結二

2021-08-10 11:56:22 字數 534 閱讀 8207

1.sleep()和wait()方法的區別?

sleep():必須指時間;不釋放鎖。

wait():可以不指定時間,也可以指定時間;釋放鎖。

2.為什麼wait(),notify(),notifyall()等方法都定義在object類中?

wait():等待,notify():喚醒單個執行緒,notifyall():喚醒所有的執行緒

這些方法的呼叫是依賴於鎖物件的,而同步**塊的鎖物件是任意鎖,而object**任意的物件,所以,定義在這裡面。

3.執行緒間通訊?

不同種類的執行緒間針對同乙個資源的操作

4.死鎖?

兩個或兩個以上的執行緒在爭奪資源的過程中,發生一種相互等待的現象。

5.執行緒同步的弊端?

效率低,容易產生死鎖

6.執行緒池優點?

執行緒池裡的每乙個執行緒**結束後,並不會死亡,而是再次回到執行緒池中成為空閒狀態,等待下乙個物件來使用

7.匿名內部類的格式:

new 類名或者介面名() ;

本質:是該類或者介面的子類物件。

多執行緒知識點總結

多執行緒的問題主要圍繞3個問題處理 1.原子性,2.可見性,3.有序性 1.原子性,不可被其他執行緒打斷的操作。如read.write sychronized 2.可見性 一條執行緒修改了某值,新值對其他執行緒立即可知 普通變數是通過主記憶體完成多執行緒的共享,因此在多執行緒的情況下,很多髒資料。v...

java併發 多執行緒知識點總結

1 web庫類 sevlet天生有多執行緒性。2 定義任務 使用runnable介面並實現run 方法。而將runnable 不返回任何值 物件程式設計工作任務的方式為 thread t new thread new task t.start 這裡start 會迅速返回,因為每個任務都由不同的執行緒...

java 多執行緒知識點總結2

4 synchronized的優化 鎖粗化與鎖消除 死鎖 公平鎖 等待時間最長的先獲取鎖 synchronized是非公平鎖,reentrantlock預設也為非公平鎖,但可以實現公平鎖 同步佇列 所有獲取鎖失敗的執行緒進入同步佇列排隊獲取鎖。等待佇列 呼叫wait 的執行緒置入等待佇列,等待not...