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

正文內(nèi)容

java的多線程機(jī)制-wenkub.com

2024-10-08 15:38 本頁(yè)面
   

【正文】 (50)。 //啟動(dòng)消費(fèi)者線程 } } //end of ProducerConsumerTest 程序執(zhí)行結(jié)果: 生產(chǎn)者線程和消費(fèi)者線程嚴(yán)格地輪流執(zhí)行,獲得了線程間的協(xié)調(diào)執(zhí)行。//the shared data object Producer p1 = new Producer(c, 1)。 i 10。 public Consumer(CubbyHole c, int number) { cubbyhole = c。 (Producer + + put: + i)。 = number。 //修改條件 notify( )。 //通知喚醒其他等待管程的線程 return seq。 // 共享數(shù)據(jù) private boolean available = false。 () 。 } catch( interruptedException e){} …. // 繼續(xù)做自己的事 6 Java的多線程機(jī)制 50 終止線程 public class R implement Runnable{ private boolean timeToQuit=false 。 6 Java的多線程機(jī)制 47 線程狀態(tài) 新建狀態(tài) 就緒狀態(tài) start() 等待狀態(tài) 執(zhí)行狀態(tài) CPU調(diào)度 run() 結(jié)束 消亡 等待狀態(tài) 對(duì)象 wait()池 等待狀態(tài) 對(duì)象 lock池 wait() notify() synchronized() 解鎖 sleep() join() yield() 6 Java的多線程機(jī)制 48 線程調(diào)度 ?public static void sleep(long millis) 當(dāng)前進(jìn)程休眠指定時(shí)間 ?public static void yield() 主動(dòng)讓出 CPU, 重新排隊(duì) 正在執(zhí)行的線程將 CPU讓給其他具有相同優(yōu)先級(jí)的線程,自己進(jìn)入就緒狀態(tài)重新排隊(duì) ?public final void join() 等待某線程結(jié)束 6 Java的多線程機(jī)制 49 等待另一線程結(jié)束 Runnable ot = new otheeThread() 。 ?調(diào)用方法的必要條件:當(dāng)前線程必須具有對(duì)該對(duì)象的監(jiān)控權(quán)(加鎖) ?當(dāng)前線程將釋放對(duì)象監(jiān)控權(quán) ,然后進(jìn)入等待隊(duì)列( wait隊(duì)列)。 synchronized int pop()。 num[i]=a。 i++) { if (runners[i].isAlive()) runners[i] = null。 } } //end of update() 6 Java的多線程機(jī)制 37 public void run() { //實(shí)現(xiàn) Runnable接口的 run()方法 while (true) { repaint()。 i++) { if (!runners[i].isAlive()) runners[i].start()。 } addMouseListener(new MyAdapter())。 i++) { runners[i] = new Runner()。 //聲明兩個(gè)賽跑線程 Runner[] runners = new Runner[NUMRUNNERS]。 6 Java的多線程機(jī)制 32 方法之二: Runnable( 續(xù) ) ?兩種方法的選擇 –當(dāng)需要從其他類,如 Applet類繼承時(shí),使用Runnable接口 –當(dāng)編寫(xiě)簡(jiǎn)單的程序時(shí),可考慮使用繼承Thread類 ?例: –具體運(yùn)行結(jié)果(線程調(diào)度)與平臺(tái)有關(guān) 6 Java的多線程機(jī)制 33 public class Runner extends Thread { //賽跑者線程類 public int tick = 1。 } } } 6 Java的多線程機(jī)制 30 建立線程 線程控制 (虛擬 CPU) 線程代碼 被操作數(shù)據(jù) Thread的實(shí)例 (t1) 由實(shí)現(xiàn)了 Runnable接口 的類 (Job1)提供 —run方法 實(shí)現(xiàn) Runnable接口的類 (Job1)的實(shí)例 ( j ) 6 Java的多線程機(jī)制 31 生成與運(yùn)行線程 –方法 2 class MyRun implements Runnable { public void run() {線程體 …} } MyRun mr = new MyRun()。 Thread t1 = new Thread(j) 。 //暫停本線程 6 Java的多線程機(jī)制 27 方法之二: Runnable ?Runnable接口 –自定義類實(shí)現(xiàn) Runnable接口 –使用 Thread類的另一構(gòu)造函數(shù): ? Thread(Runnable, String) 用實(shí)現(xiàn)了 Runnable接口的類的對(duì)象中所定義的 run()方法 , 來(lái)覆蓋新創(chuàng)建的線程對(duì)象的 run() 方法 –使用 start()啟動(dòng)線程 6 Java的多線程機(jī)制 28 方法之二: Runnable( 續(xù) ) ?例: class A implements Runnable{ public void run(){….} } class B { public static void main(String[] arg){ Runnable a=new A()。 ()。 suspendStatus=true。 指定線程實(shí)例名 ?線程的優(yōu)先級(jí)控制 – 三個(gè)常量: MAX_PRIORITY 10。 } } // public class TwoThreadsTest { public static void main (String[]
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1