freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

《java多線程》ppt課件-預(yù)覽頁

2025-11-11 04:51 上一頁面

下一頁面
 

【正文】 新創(chuàng)建的線程一旦被調(diào)度,就將切換到Runnable狀態(tài)。線程的優(yōu)先級如果相同,將遵循 先來先服務(wù) 的調(diào)度原則。處于堵塞狀態(tài)的線程通常必須由某些事件才能喚醒。其中原因可能是線程巳執(zhí)行完畢(正常結(jié)束),也可能是該線程被另一線程所強行中斷( kill)。 – ( 3)創(chuàng)建該子類的一個線程對象。 5. sleeptime=(int)(( )*100)。 15. } 16. (The running Thread=+getName())。 24. t3=new myThread(Thread 3)。 27. ( )。 – ( 2)定義方法 run( )。 ? 【 實例 83】 1. class myThread implements Runnable{ 2. int count=1, number。 10. if(++count==6) return。 17. } 18. } ? 【 實例 83】 ? 程序運行某次的輸出結(jié)果: 創(chuàng)建線程: 1 創(chuàng)建線程: 2 線程 1:計數(shù) 1 線程 1:計數(shù) 2 線程 1:計數(shù) 3 線程 2:計數(shù) 1 線程 2:計數(shù) 2 線程 2:計數(shù) 3 創(chuàng)建線程: 3 線程 3:計數(shù) 1 線程 3:計數(shù) 2 線程 3:計數(shù) 3 ★ 值得指出的是同一個實現(xiàn)了 Runnable接口的對象作為參數(shù)產(chǎn)生的所有Thread對象是同一對象下的線程。 ? 線程調(diào)度程序挑選線程時,將選擇處于就緒狀態(tài)且優(yōu)先級最高的線程。另外可以通過 Thread類的 setPriority( int a)方法來修改系統(tǒng)自動設(shè)置的線程優(yōu)先級。 } 3. public void run( ){ 4. try{ (2)。 12. public class testTheadPriority{ 13. public static void main(String agrs[]){ 14. Thread minThread=new myThread(MinPriorityThread )。 18. ()。 22. ( )。} 5. catch(InterruptedException e) 6. {(線程異常, NO:+n)。 13. rThread(myThread t, int n) { 14. Obj=t。 24. Thread t1=new Thread(new rThread(Obj, 1))。( )。 同步方法 ? 1.鎖標(biāo)志 – 每個對象都有一個標(biāo)志鎖。 同步方法 ? 1.鎖標(biāo)志 – 鎖用于保護(hù)代碼塊或整個方法,必須記住是鎖的身份保護(hù)了代碼塊,而不是代碼塊本身,這一點很重要。 – 此外 nonstatic的 synchronized數(shù)據(jù)只能在同一個對象的純種實現(xiàn)同步訪問,不同對象的線程仍可同時訪問。這點在前面已舉例說明,在此不在贅述。 – synchronized方法控制對類成員變量的訪問:每個類實例對應(yīng)一把鎖,每個 synchronized 方法都必須獲得調(diào)用該方法的類實例的鎖方能執(zhí)行,否則所屬線程阻塞,方法一旦執(zhí)行,就獨占該鎖,直到從該方法返回時才將鎖釋放,此后被阻塞的線程方能獲得該鎖,重新進(jìn)入可執(zhí)行狀態(tài)。 ? 【 實例 87】 1. public class SyncThreads1{ 2. private static int x, y。 12. (y)。語法如下: synchronized(syncObject) { //允許訪問控制的代碼 } – synchronized 塊是這樣一個代碼塊,其中的代碼必須獲得對象 syncObject (如前所述,可以是類實例或類)的鎖方能執(zhí)行,具體機制同前所述。由于可以針對任意代碼塊,且可任意指定上鎖的對象,故靈活性較高。 8. (x)。 22. new Thread2().run()。 1. class shareClass{ //共享類 2. private int n。 8. (\n 產(chǎn)生數(shù)據(jù): +n)。 19. Producer(shareClass c) { 20. shc=c。 25. } 26. } 27. class Consumer implements Runnable{ 28. shareClass shc。i++) ( )。 41. ( )。例如,經(jīng)典的隊列問題,一個線程產(chǎn)生一些數(shù)據(jù),而另一些線程取走數(shù)據(jù)。 通過系統(tǒng)方法實現(xiàn)線程通信 ? 為了避免循環(huán)檢測, Java通過 wait()、 notify()和 notifyAll()方法實現(xiàn)了一個巧妙的進(jìn)程內(nèi)通信的機制。這和 join()不同, join()是等其他線程運行完,而 wait()是等其他線程向其發(fā)出通知。 圖 83 線程調(diào)度示意圖 新建線程 y 就緒線程 O的等鎖池 O的 wait池 優(yōu)先級多列 正在運行線程 x () () () () 執(zhí)行到 synchronized(O) 標(biāo)記不存在則進(jìn)入 O等鎖池 O標(biāo)記返還了 線程可運行 有線程執(zhí)行 ()或(),則終止等待 有 O的標(biāo)記且執(zhí)行到 (),則釋放標(biāo)記 ,進(jìn)入 O的 wait池 按優(yōu)先級排隊 高優(yōu)先級占先優(yōu)先級 等待條件滿足 通過系統(tǒng)方法實現(xiàn)線程通信 ? ( 1) wait()函數(shù)有兩種形式:第一種形式接受一個毫秒值,用于在指定時間長度內(nèi)暫停線程,使線程進(jìn)入阻塞狀態(tài)。 通過系統(tǒng)方法實現(xiàn)線程通信 ? 下面的程序錯誤地實現(xiàn)了生產(chǎn)者 /消費者問題的簡化形式。 5. return n。 14. Producer(Queue q) { 15. =q。} 21. } 22. } ? 【 實例 810】 Consumer implements Runnable{ 24. Queue q。} 31. } 32.} ? 【 實例 810】 PC{ 34. public static void main(String args[]) { 35. Queue q=new Queue ()。 39. } 40.} ? 【 實例 810】 PC{ 34. public static void main(String args[]) { 35. Queue q=new Queue ()。 39. } 40.}
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1