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

正文內(nèi)容

java多線程ppt課件(留存版)

  

【正文】 程的方法 ? 2.通過(guò)實(shí)現(xiàn) Runnable接口實(shí)現(xiàn)多線程 – ( 1)定義一個(gè)實(shí)現(xiàn) Runnable接口的類(lèi)。 3. public myThread(String id) { // 構(gòu)造函數(shù) 4. super(id)。處于就緒狀態(tài)的線程何時(shí)可真正執(zhí)行,取決于線程優(yōu)先級(jí)以及隊(duì)列的當(dāng)前狀況。 – setName(String s) :賦予線程一個(gè)名字。 多線程的概念 ? 多線程具有以下特點(diǎn): – ( 1)多個(gè)線程在運(yùn)行時(shí),系統(tǒng)自動(dòng)在線程之間進(jìn)行切換; – ( 2)由于多個(gè)線程共存于同一塊內(nèi)存,線程之間的通信非常容易; – ( 3) Java將線程視為一個(gè)對(duì)象。 多線程編程中常用的常量和方法 ? 常用方法: – currentThread( ): 返回當(dāng)前運(yùn)行的線程對(duì)象,是一個(gè)靜態(tài)的方法。 5. curr=( )。被掛起、或處于消息等待狀態(tài)的線程則必須由一外來(lái)事件喚醒。 22. t1=new myThread(Thread 1)。 5. (創(chuàng)建線程: +number)。 圖 81 線程優(yōu)先級(jí)調(diào)度示意圖 新建線程 y 就緒線程 O的等鎖池 優(yōu)先級(jí)多列 正在運(yùn)行線程 x () 執(zhí)行到 synchronized(O) 標(biāo)記不存在則進(jìn)入 O等鎖池 O標(biāo)記返還了 線程可運(yùn)行 按優(yōu)先級(jí)排隊(duì) 高優(yōu)先級(jí)占先優(yōu)先級(jí) ? 【 實(shí)例 85】 驗(yàn)證了 Java對(duì)多線程的調(diào)度方法。 ? 【 實(shí)例 86】 1. class myThread{ 2. void Test(int n) { 3. (運(yùn)行線程 NO: +n)。 28. } 29.} ? 【 實(shí)例 86】 ? 程序運(yùn)行結(jié)果: 運(yùn)行線程 NO: 1 運(yùn)行線程 NO: 2 運(yùn)行線程 NO: 3 結(jié)束線程 NO: 1 結(jié)束線程 NO: 2 結(jié)束線程 NO: 3 同步方法 ? 同一進(jìn)程的多個(gè)線程共享同一片存儲(chǔ)空間,在帶來(lái)方便的同時(shí),也帶來(lái)了訪問(wèn)沖突這個(gè)嚴(yán)重的問(wèn)題。這種加上synchronized關(guān)鍵字的方法也稱(chēng) synchronized方法。 同步方法 ? 3.鎖定沖突塊( synchronized 塊): – 通過(guò) synchronized關(guān)鍵字來(lái)聲明 synchronized 塊。 4. void produce(int i) { 5. while(flag) { } 6. n=i。 39. Thread t1=new Thread(new Producer(shc))。當(dāng)其他線程執(zhí)行到對(duì)象 O的 notify()方法時(shí), java虛擬機(jī)會(huì)從對(duì)象 O的 wait池隨機(jī)取出一個(gè)線程放入 O的等鎖池中,一旦 O的標(biāo)記被其他線程返回,即可運(yùn)行。 17. } 18. public void run(){ 19. int i=0。 37. new Consumer(q)。 9. (Put: +n)。這三個(gè)方法只可以在一個(gè)同步的上下文訪問(wèn),而且從計(jì)算機(jī)科學(xué)的角度上來(lái)說(shuō),它在概念上是很先進(jìn)的,但是使用這些方法的規(guī)則卻很簡(jiǎn)單 。 31. } 32. public void run( ) { 33. for(int i=0。 線程間通信 ? 共享變量和方法封裝在一個(gè)類(lèi)中 ? 通過(guò)系統(tǒng)方法實(shí)現(xiàn)線程通信 共享變量和方法封裝在一個(gè)類(lèi)中 ? 以下通過(guò)實(shí)例演示了通過(guò)將共享變量封裝在一個(gè)類(lèi)中,實(shí)現(xiàn)線程通信。 17. new Thread2().run()。對(duì)于 synchronized static數(shù)據(jù)可以在整個(gè) class下進(jìn)行鎖定,避免 static數(shù)據(jù)的同時(shí)訪問(wèn)。 26. Thread t3=new Thread(new rThread(Obj, 3))。 20. ( )。最小優(yōu)先級(jí)的常量是 MIN_PRIORITY,普通的優(yōu)先級(jí)的常量是NORM_PRIORITY,最高的優(yōu)先級(jí)的常量是 MAX_PRIORITY。 – ( 3)創(chuàng)建該類(lèi)的一個(gè)線程對(duì)象,并將該對(duì)象作參數(shù),傳遞給 Thread類(lèi)的構(gòu)造函數(shù),從而生成 Thread類(lèi)的一個(gè)對(duì)象。 8. } 9. public void run(){ 10. try{ // 通過(guò)線程睡眠模擬程序的執(zhí)行 11. (sleeptime)。這個(gè)線程將一直運(yùn)行直到運(yùn)行完畢,除非運(yùn)行過(guò)程的控制權(quán)被一優(yōu)先級(jí)更高的線程強(qiáng)占。 – setPriority(int p) :設(shè)置線程的優(yōu)先級(jí)。必須采用synchronized關(guān)鍵字協(xié)調(diào)資源,實(shí)現(xiàn)線程同步。 線程類(lèi) ? 多線程編程中常用的常量和方法 ? 線程的生命周期 ? 創(chuàng)建多線程的方法 多線程編程中常用的常量和方法 ? Thread類(lèi)包含的常量有: – 1. public static final int MAX_PRIORITY: 最大優(yōu)先級(jí),值是 10。 – join( ) :等待線程死亡,若中斷了該線程, 將拋出異常。 線程的生命周期 ? “Blocked”(堵塞)狀態(tài) : – 一個(gè)線程如果處于 Blocked(堵塞)狀態(tài),那么暫時(shí)這個(gè)線程將無(wú)法進(jìn)入就緒隊(duì)列。 12. } 13. catch(InterruptedException e){ 14. (Exception: +())。 – ( 4)通過(guò) start( )方法啟動(dòng)線程。一般主線程的優(yōu)先級(jí)是普通。 21. ( )。 27. ( )。對(duì)象的 “ 鎖標(biāo)志 ” 和 class的 “ 鎖標(biāo)志 ” 是相互獨(dú)立的。 18. } 19. } 同步方法 ? 3.鎖定沖突塊( synchronized 塊): – 通過(guò) synchronized關(guān)鍵字來(lái)聲明 synchronized 塊。 ? 【 實(shí)例 89】 。i5。 通過(guò)系統(tǒng)方法實(shí)現(xiàn)線程通信 ? wait…… notify調(diào)度機(jī)制是幾個(gè)線程對(duì)同一對(duì)象進(jìn)行操作,其中某些線程在一定條件下自動(dòng)掛起,等待其他線程在一定條件下通知其繼續(xù)運(yùn)行。 10. } 11. } ? 【 實(shí)例 810】 12. class Producer implements Runnable{ 13. Queue q。 38. (Press controlC to stop.)。 16. new Thread(this, Producer).start()。 ? wait
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1