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

正文內(nèi)容

java的多線程機(jī)制-文庫吧在線文庫

2024-11-25 15:38上一頁面

下一頁面
  

【正文】 程機(jī)制 14 線程狀態(tài) 新建狀態(tài) new Thread(..) 就緒狀態(tài) start() 等待狀態(tài) 執(zhí)行狀態(tài) I/O sleep() CPU調(diào)度 run() 結(jié)束 stop() yield() 消亡 I/O完成 sleep時(shí)間到 6 Java的多線程機(jī)制 15 Java對多線程的支持 提供對多線程的支持 ?Thread類 – start( ), stop( ), run( ) ?Runnable 接口 ?實(shí)現(xiàn)多線程的兩種編程方法 –繼承 Thread 類 –實(shí)現(xiàn) Runnable 接口 6 Java的多線程機(jī)制 16 Thread類 ?Thread類綜合了 Java程序中一個(gè)線程需要擁有的屬性和方法 ?當(dāng)生成一個(gè) Thread類的對象后,一個(gè)新的線程誕生了。 – 系統(tǒng)負(fù)擔(dān)小,主要是 CPU的分配。Java 的多線程機(jī)制 6 Java的多線程機(jī)制 2 主要內(nèi)容 ?線程的概念 –線程的生命周期 ?Java中多線程的編程 –繼承 Thread類與使用 Runnable接口 – Thread類的主要方法 ?線程的同步與死鎖 ?動畫 6 Java的多線程機(jī)制 3 程序 進(jìn)程 線程 ?程序是為完成特定任務(wù)、用某種語言編寫的 一組指令的集合。 ?線程 — 線程創(chuàng)建 、 銷毀和切換的負(fù)荷遠(yuǎn)小于進(jìn)程 , 又稱為輕量級進(jìn)程 ( lightweight process) 。 6 Java的多線程機(jī)制 10 線程的概念模型 線程控制 (虛擬 CPU) 線程代碼 線程的三個(gè)組成部分 被操作數(shù)據(jù) 6 Java的多線程機(jī)制 11 線程的生命周期 ?要想實(shí)現(xiàn)線程 , 必須在主線程中創(chuàng)建新的線程對象 。 i 10。 指定線程實(shí)例名 ?線程的優(yōu)先級控制 – 三個(gè)常量: MAX_PRIORITY 10。 ()。 Thread t1 = new Thread(j) 。 6 Java的多線程機(jī)制 32 方法之二: Runnable( 續(xù) ) ?兩種方法的選擇 –當(dāng)需要從其他類,如 Applet類繼承時(shí),使用Runnable接口 –當(dāng)編寫簡單的程序時(shí),可考慮使用繼承Thread類 ?例: –具體運(yùn)行結(jié)果(線程調(diào)度)與平臺有關(guān) 6 Java的多線程機(jī)制 33 public class Runner extends Thread { //賽跑者線程類 public int tick = 1。 i++) { runners[i] = new Runner()。 i++) { if (!runners[i].isAlive()) runners[i].start()。 i++) { if (runners[i].isAlive()) runners[i] = null。 synchronized int pop()。 6 Java的多線程機(jī)制 47 線程狀態(tài) 新建狀態(tài) 就緒狀態(tài) start() 等待狀態(tài) 執(zhí)行狀態(tài) CPU調(diào)度 run() 結(jié)束 消亡 等待狀態(tài) 對象 wait()池 等待狀態(tài) 對象 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() 主動讓出 CPU, 重新排隊(duì) 正在執(zhí)行的線程將 CPU讓給其他具有相同優(yōu)先級的線程,自己進(jìn)入就緒狀態(tài)重新排隊(duì) ?public final void join() 等待某線程結(jié)束 6 Java的多線程機(jī)制 49 等待另一線程結(jié)束 Runnable ot = new otheeThread() 。 () 。 //通知喚醒其他等待管程的線程 return seq。 = number。 public Consumer(CubbyHole c, int number) { cubbyhole = c。//the shared data object Producer p1 = new Producer(c, 1)。 (50)。 //啟動消費(fèi)者線程 } } //end of ProducerConsumerTest 程序執(zhí)行結(jié)果: 生產(chǎn)者線程和消費(fèi)者線程嚴(yán)格地輪流執(zhí)行,獲得了線程間的協(xié)調(diào)執(zhí)行。 i 10。 (Producer + + put: + i)。 //修改條件 notify( )。 // 共享數(shù)據(jù) private boolean available = false。 } catch( interruptedException e){} …. // 繼續(xù)做自己的事 6 Java的多線程機(jī)制 50 終止線程 public class R implement Runnable{ private boolean timeToQuit=false 。 ?調(diào)用方法的必要條件:當(dāng)前線程必須具有對該對象的監(jiān)控權(quán)(加鎖) ?當(dāng)前線程將釋放對象監(jiān)控權(quán) ,然后進(jìn)入等待隊(duì)列( wait隊(duì)列)。 num[i]=a。 } } //end of update() 6 Java的多線程機(jī)制 37 public void run() { //實(shí)現(xiàn) Runnable接口的 run()方法 while (true) { repaint()。 } addMouseListener(new MyAdapter())。 //聲明兩個(gè)賽跑線程 Runner[] runners =
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1