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

正文內(nèi)容

java的多線程機(jī)制-文庫(kù)吧資料

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

【正文】 (某對(duì)象)狀態(tài) ,直到另一線程對(duì)該對(duì)象發(fā)出 notify(或 notifyAll)為止。 –臨界區(qū) –實(shí)現(xiàn)機(jī)制:管程 6 Java的多線程機(jī)制 40 線程的同步與互斥 ?對(duì)象互斥鎖 在 Java中,每個(gè)對(duì)象有一個(gè)“互斥鎖”,該鎖可用來保證在同一時(shí)刻只能有一個(gè)線程訪問該對(duì)象。 6 Java的多線程機(jī)制 39 線程的同步與互斥 ?問題的解決 –同步 : 用 synchronized關(guān)鍵字前綴給針對(duì)共享資源的操作加鎖;同步方法、同步塊 synchronized void push()。 pop(): 取出 num[i]。 如 push(a): i++。 //中止賽跑線程 } if (()) updateThread = null。 i NUMRUNNERS。 //重新繪制,自動(dòng)調(diào)用 update()方法 try { (10)。 i++) { //畫兩條線 (SPACING, (i+1)*SPACING, SPACING + (runners[i].tick)/100000, (i+1)*SPACING)。 //啟動(dòng)賽跑線程 } } } //end of class MyAdapter 6 Java的多線程機(jī)制 36 public void paint(Graphics g) {//paint()方法中繪制框架 … … … } //end of paint() //update()方法中繪制賽跑者的進(jìn)度 public void update(Graphics g) { for (int i = 0。 i NUMRUNNERS。 //注冊(cè)事件監(jiān)聽者 } //end of init() 6 Java的多線程機(jī)制 35 // 內(nèi)部事件監(jiān)聽者類,監(jiān)聽鼠標(biāo)事件 class MyAdapter extends MouseAdapter { //鼠標(biāo)點(diǎn)擊后,開始賽跑及繪制線程 public void mouseClicked(MouseEvent evt) { if (!()) ()。 (NUMRUNNERS+1)。 //創(chuàng)建賽跑線程線程 runners[i].setPriority(i+1)。 i NUMRUNNERS。 //聲明一個(gè)畫圖線程 Thread updateThread = null。//定義賽跑線程的個(gè)數(shù) final static int SPACING = 20。 public void run() { while (tick 40000000) tick++。 //Thread實(shí)例用于線程控制 ?適合于:定義 run()方法的類必須是其他類或其他類的子類。 Thread t1 = new Thread(mr) 。 public void run() { while (i50) { (i++) 。 () 。 } } 6 Java的多線程機(jī)制 29 建立線程例 public class ThreadTest { public static void main(String[] args){ Job1 j = new Job1()。 Thread t=new Thread(a)。 //同優(yōu)先級(jí)的線程可以獲得執(zhí)行 – suspend()。 class MyThread extends Thread { public void run() { 線程體 … } } 執(zhí)行 run()方法 6 Java的多線程機(jī)制 25 建立線程 線程控制 (虛擬 CPU) 線程代碼 被操作數(shù)據(jù) Thread類的子類的實(shí)例 (mt) Thread類的子類提供 的run方法 6 Java的多線程機(jī)制 26 Thread類方法總結(jié) ?啟動(dòng)線程: start() ?有關(guān)線程執(zhí)行的控制: – stop()、 suspend()、 resume() ?有關(guān)調(diào)度控制 – (10)。} 6 Java的多線程機(jī)制 23 Thread類的有關(guān)方法 (續(xù) ) ?static void yield(): 對(duì)正在執(zhí)行的線程 –若就緒隊(duì)列中有與當(dāng)前線程 同優(yōu)先級(jí) 的排隊(duì)線程 , 則當(dāng)前線程讓出 CPU控制權(quán) ,移到隊(duì)尾 –若隊(duì)列中沒有同優(yōu)先級(jí)的線程,忽略此方法 ?stop(): 強(qiáng)制線程生命期結(jié)束 ?boolean isAlive(): 返回 boolean,表明是否線程還 存在 ?static currentThread(): 返回當(dāng)前線程 6 Java的多線程機(jī)制 24 生成與運(yùn)行線程 –方法 1 MyThread mt = new MyThread()。} 繼續(xù): if(suspendStatus) {()。 – getPriority() 返回線程優(yōu)先值 setPriority(int newPriority) 改變線程的優(yōu)先級(jí) – 線程創(chuàng)建時(shí)繼承父線程的優(yōu)先級(jí) 6 Java的多線程機(jī)制 21 Thread類的有關(guān)方法 ?void start(): 由 Newborn到 Runnable – 啟動(dòng)線程 ?String getName(): 返回線程的名稱 ?run(): 線程在被調(diào)度時(shí)執(zhí)行的操作 ?static void sleep(指定時(shí)間毫秒 ): – 令當(dāng)前活動(dòng)線程在指定時(shí)間段內(nèi)放棄對(duì) CPU控制 ,使 其他線程有機(jī)會(huì)被執(zhí)行 ,時(shí)間到后重排隊(duì) – 產(chǎn)生例外 InterruptedException – 用 try塊調(diào)用 sleep(), 用 catch塊處理例外 6 Java的多線程機(jī)制 22 Thread類的有關(guān)方法 (續(xù) ) ?suspend() : 掛起線程,處于阻塞狀態(tài) ?resume(): 恢復(fù)掛起的線程,
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1