Java基礎複習執行緒

2021-08-15 19:04:12 字數 1645 閱讀 4952

執行緒

實現多執行緒的兩種方法

繼承thread類,重新run方法

thread a=new mythread(「子執行緒」);

thread.start();

實現runnable介面,實現run方法。

myrunnable my=new myrunable(); 在這個myrunnable類中已經重寫了run方法

thread thread =new thread(myrunnable,"子執行緒2");

thread thread =new thread(myrunnable,"子執行緒3");

thread.start();

執行緒的生命週期

------指執行緒從建立到啟動,直至執行結束

------可以通過呼叫thread類的相關方法影響執行緒的執行狀態

執行緒的執行狀態

-----新建(new)

----可執行(runnable)

其他執行緒呼叫了處於新建狀態執行緒的start方法,該執行緒物件將裝換到『可執行狀態';

-----執行(runnxing)

1處於『可執行狀態』的執行緒物件一旦獲得了cpu控制權,就會裝換到『執行狀態』

2在『執行狀態』下,執行緒狀態占用cpu時間片段,執行run方法的**

3處於'執行狀態'下的執行緒可以呼叫yield方法,該方法用於自動出讓cpu控制權。

執行緒物件出讓控制權後回到『可執行狀態』,重新等待排程。

兩者區別

1.runnable介面必須實現run方法,而thread類中的run方法是乙個空方法,可以不重寫。

2、runnable介面的實現類並不是真正的執行緒類,只是執行緒執行的目標類。要想以執行緒的方法方式執行run方法,必須依靠

thread類

3、runnable介面適合於資源的共享

-----阻塞(blocking)

----死亡(dead)

阻塞狀態(blocking)

---執行緒在『執行狀態』下由於受某種條件的影響被迫出讓cpu控制權,進入阻塞狀太

進入阻塞狀態的三種情況

--呼叫sleep方法

--呼叫jion方法

處於「執行狀態」的執行緒如果呼叫了其他執行緒的jion方法,將被掛起進入「阻塞狀態」

等目標狀態執行完後才會解除阻塞,回到「可執行狀態」

--執行i/o操作

執行緒同步:

1.解決執行緒併發安全問題。

2.用synchronized來解決執行緒同步

3.synchronized可以修飾方法和**塊

3.1 修飾的方法,稱為同步方法

3.2修飾的**塊,稱為同步塊

3.3如何在乙個執行緒類中有多個方法,那麼只會鎖在synchronize修飾的方法,其他方法則可以正常訪問。

只能乙個個訪問,等乙個執行緒完成後另乙個在等待狀態。

wait()方法:

中斷方法的執行,使本執行緒等待,暫時讓出cpu的使用權

notify()方法:

喚醒由於使用這個同步方法而處於等待執行緒的某乙個結束等待

notifyall()方法:

喚醒所有由於使用這個同步方法而處於等待的執行緒結束等待

java基礎複習 多執行緒

第一節 兩種建立方法 1繼承thread類,並複寫run方法 2實現runnable介面,並複寫run方法 3兩種方式的特點和優缺點,以及應用。賣票程式中,使用1方法建立的執行緒,每建立乙個執行緒,都有100張票。而我們想要的多個執行緒共同操作這100張票,這時就要使用第二種方法。第二節 執行緒的執...

JAVA多執行緒基礎知識複習一

一.執行緒的基礎知識 1.什麼是程序 它是執行中的程式 2.什麼是執行緒 又稱輕量級程序,是程式的最小單元 3.建立執行緒的兩種方法 1 繼承thread類 public class demo1 class mythread extends thread 2 實現runable介面 public c...

java基礎複習(4)

極限程式設計 測試先行,結對程式設計 要求兩個人水平相當。能夠提高效率,不易出錯,而且程式設計者無法偷懶哈 看過程式設計師上面的一篇文章,極限程式設計具有良好的實踐性比如 測試驅動開發,持續整合,使用者故事。測試驅動保證了開發人員的編碼質量。持續整合保證了每天完成的任務都能夠成功整合到系統中,保持專...