java語言編程-多線程

java語言編程-多線程

ID:34446437

大?。?17.12 KB

頁數(shù):44頁

時間:2019-03-06

java語言編程-多線程_第1頁
java語言編程-多線程_第2頁
java語言編程-多線程_第3頁
java語言編程-多線程_第4頁
java語言編程-多線程_第5頁
資源描述:

《java語言編程-多線程》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、Date:26March2007ITEducation&TrainingJava語言編程王寧東軟培訓(沈陽)Date:26March2007ITEducation&TrainingJava的線程機制?定義、創(chuàng)建、執(zhí)行新線程?結束線程的執(zhí)行?線程的優(yōu)先級?線程的狀態(tài)及狀態(tài)間的轉換?程序對線程執(zhí)行的控制Date:26March2007ITEducation&TrainingJava的線程機制?共享訪問與線程同步?通過wait和notify在線程間交互?Thread類的其他重要方法?Java多線程機制的特點?多線程與垃圾收集Date:26March2007ITEducation&T

2、raining簡化的計算機?最簡單的看法包含三個部分:?CPU?ROM(保存程序代碼)?RAM(保存要操作的數(shù)據(jù))?只執(zhí)行一個作業(yè)?兩個以上的作業(yè)由兩個以上的計算機完成Date:26March2007ITEducation&Training線程?線程可以被看作一個簡化的計算機?線程的三個組成部分:?虛擬CPU?代碼?數(shù)據(jù)?線:所有的操作都具有先、后順序?每個線程內(nèi),按照時間順序地執(zhí)行代碼?不同線程之間不能確定代碼的執(zhí)行順序Date:26March2007ITEducation&Training線程與進程?進程:一個應用程序?進程通常獨占內(nèi)存?一個或多個線程組成一個進程?多個線

3、程可能共享內(nèi)存:?代碼?數(shù)據(jù)Date:26March2007ITEducation&Training做過的程序?文本程序:?通常都是一個線程?從main方法開始?代碼的執(zhí)行按照嚴格的時間順序?執(zhí)行到main方法結束?GUI程序:?圖形界面在另外的線程中運行Date:26March2007ITEducation&TrainingJava中的線程?使用java.lang.Thread類創(chuàng)建和控制線程?虛擬CPU被封裝在java.lang.Thread類的一個實例中?Thread類的實例決定了代碼和數(shù)據(jù)?Java中任何一個線程都必須是Thread類或其繼承類的一個實例?創(chuàng)建并啟動線

4、程:P13-6Date:26March2007ITEducation&Training創(chuàng)建線程?使用Thread類:?publicThread(Runnabletarget)?publicvoidstart()?java.util.Runnable接口?publicvoidrun()?線程從Runnable對象的run方法開始執(zhí)行Date:26March2007ITEducation&Training線程的啟動和終止?開始一個新線程?Thread類的publicvoidstart()?start方法調(diào)用后線程處于可執(zhí)行狀態(tài),但并不一定立即執(zhí)行?線程的執(zhí)行由JVM調(diào)度?線程的終

5、止:?自動結束:run方法執(zhí)行結束返回時?強行停止:Thread類的publicvoiddestroy()Date:26March2007ITEducation&Training多線程共享數(shù)據(jù)和代碼?舉例:?多線程源于同一個Runnable實例Threadt1=newThread(r);Threadt1=newThread(r);t1.start();t2.start();?共享Runnable的run方法的代碼?共享Runnable實例的數(shù)據(jù)Date:26March2007ITEducation&Training線程的狀態(tài)?線程的狀態(tài):?新建?可運行?運行?阻塞?中止?線程

6、的阻塞:?多種原因可導致線程阻塞?Thread類的sleep方法Date:26March2007ITEducation&Training線程調(diào)度(線程緩沖池)?一個線程對象的start方法只能被執(zhí)行一次?線程是搶先式的:優(yōu)先級?一個時刻只有一個線程在運行?運行到不再是可運行的,或另一個更高優(yōu)先級的線程成為可運行?所有可運行線程按優(yōu)先級保存在緩沖池中?P13-11Date:26March2007ITEducation&Training線程狀態(tài)間的轉換P13-11BlockingNewRunnableRunningDeadDate:26March2007ITEducation&T

7、raining線程的優(yōu)先級?1~10的整數(shù)來表示,越小則優(yōu)先級越低?Thread類的setPriority(intnewPriority)方法來設置線程的優(yōu)先級:?例如:aThread.setPriority(5);?Thread類的三個常量,表示常用的線程優(yōu)先級:?Thread.MAX_PRIORITY//10?Thread.NORM_PRIORITY//5?Thread.MIN_PRIORITY//1?缺省時線程具有NORM_PRIORITYDate:26March2007ITEducation&T

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。