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

正文內(nèi)容

java的多線程機(jī)制(已修改)

2024-10-28 15:38 本頁面
 

【正文】 Java 的多線程機(jī)制 6 Java的多線程機(jī)制 2 主要內(nèi)容 ?線程的概念 –線程的生命周期 ?Java中多線程的編程 –繼承 Thread類與使用 Runnable接口 – Thread類的主要方法 ?線程的同步與死鎖 ?動(dòng)畫 6 Java的多線程機(jī)制 3 程序 進(jìn)程 線程 ?程序是為完成特定任務(wù)、用某種語言編寫的 一組指令的集合。指一段靜態(tài)的代碼。 ?進(jìn)程是程序的一次執(zhí)行過程,是系統(tǒng)進(jìn)行調(diào) 度和資源分配的一個(gè)獨(dú)立單位。 執(zhí)行 就緒 等待 PCB CPU 掛起 6 Java的多線程機(jī)制 4 程序 進(jìn)程 線程 ?線程是比進(jìn)程更小一級(jí)的執(zhí)行單元 。 ?一個(gè)進(jìn)程在其執(zhí)行過程中 , 可以產(chǎn)生多個(gè)線程 , 形 成多條執(zhí)行線索 。 ?每個(gè)線程也有它自身的產(chǎn)生 、 存在和消亡的過程 , 也是一個(gè)動(dòng)態(tài)的概念 。 ?一個(gè)線程有它自己的入口和出口,以及一個(gè)順序執(zhí) 行的序列 ?線程不能獨(dú)立存在 , 必須存在于進(jìn)程中 , 各線程間 共享進(jìn)程空間的數(shù)據(jù) 。 ?線程 — 線程創(chuàng)建 、 銷毀和切換的負(fù)荷遠(yuǎn)小于進(jìn)程 , 又稱為輕量級(jí)進(jìn)程 ( lightweight process) 。 – 系統(tǒng)負(fù)擔(dān)小,主要是 CPU的分配。 6 Java的多線程機(jī)制 5 基本概念之一:進(jìn)程 ?進(jìn)程是正在運(yùn)行的一個(gè)程序 ?程序:靜態(tài)對(duì)象--進(jìn)程:動(dòng)態(tài)過程 ?操作系統(tǒng)為每個(gè)進(jìn)程分配一段內(nèi)存空間, 包括:代碼、數(shù)據(jù)以及堆棧等資源 ?多任務(wù)的操作系統(tǒng)( OS) 中,進(jìn)程切換對(duì) CPU資源消耗較大 6 Java的多線程機(jī)制 6 基本概念之二:多線程 ?多線程是指同時(shí)存在幾個(gè)執(zhí)行體 , 按幾條不 同的執(zhí)行線索共同工作的情況 。 ?多線程實(shí)現(xiàn)單個(gè)進(jìn)程中的并發(fā)計(jì)算。 ?各線程間共享進(jìn)程空間的數(shù)據(jù),并利用這些 共享單元來實(shí)現(xiàn)數(shù)據(jù)交換、實(shí)時(shí)通信與必要 的同步操作。 ?多線程的程序能更好地表述和解決現(xiàn)實(shí)世界 的具體問題,是計(jì)算機(jī)應(yīng)用開發(fā)和程序設(shè)計(jì) 的一個(gè)必然發(fā)展趨勢(shì)。 6 Java的多線程機(jī)制 7 進(jìn)程與多線程 單線程 多線程 進(jìn)程 傳統(tǒng)進(jìn)程 多線程進(jìn)程 6 Java的多線程機(jī)制 8 線程的調(diào)度 ?調(diào)度策略 –時(shí)間片 –搶占式:高優(yōu)先級(jí)的線程搶占 CPU ?Java的調(diào)度方法 –同優(yōu)先級(jí)線程組成先進(jìn)先出隊(duì)列,使用時(shí)間片策略 –對(duì)高優(yōu)先級(jí),使用優(yōu)先調(diào)度的搶占式策略 1 2 6 Java的多線程機(jī)制 9 Java與多線程 ?Java語言的一個(gè)重要功能特點(diǎn)就是內(nèi)置對(duì)多 線程的支持 , 它使得編程人員可以很方便地 開發(fā)出具有多線程功能 , 能同時(shí)處理多個(gè)任 務(wù)的功能強(qiáng)大的應(yīng)用程序 。 ?每個(gè) Java程序都有一個(gè)隱含的主線程 – application main 方法 – Applet小程序,主線程指揮瀏覽器加載并執(zhí) 行 Java小程序。 6 Java的多線程機(jī)制 10 線程的概念模型 線程控制 (虛擬 CPU) 線程代碼 線程的三個(gè)組成部分 被操作數(shù)據(jù) 6 Java的多線程機(jī)制 11 線程的生命周期 ?要想實(shí)現(xiàn)線程 , 必須在主線程中創(chuàng)建新的線程對(duì)象 。Java語言使用 Thread類及其子類的對(duì)象來表示線程 , 在它的一個(gè)完整的生命周期中通常要經(jīng)歷如下的五種狀態(tài): – 新建: 當(dāng) 一個(gè) Thread類或其子類的對(duì)象被聲明并創(chuàng)建時(shí),新生的線程對(duì)象處于新建狀態(tài) – 就緒:處于 新建 狀態(tài)的線程被啟動(dòng)后,將進(jìn)入線程隊(duì)列等待CPU時(shí)間片,此時(shí)它已具備了運(yùn)行的條件 – 運(yùn)行:當(dāng)就緒的線程被調(diào)度并獲得處理器資源時(shí) ,便進(jìn)入運(yùn)行狀態(tài), run()方法定義了線程的操作和功能 – 阻塞:在某種特殊情況下,被人為掛起或執(zhí)行輸入輸出操作時(shí),讓出 CPU并臨時(shí)中止自己的執(zhí)行,進(jìn)入阻塞狀態(tài) – 死亡:線程完成了它的全部工作或線程被提前強(qiáng)制性地中止 stop()或 destroy() 6 Java的多線程機(jī)制 12 線程的生命周期 6 Java的多線程機(jī)制 13 線程的生命周期(續(xù)) ?Newborn: 線程已創(chuàng)建,但尚未執(zhí)行 ?Runnable:( 就緒) 線程已被調(diào)度,按優(yōu)先級(jí)和先到先服務(wù)原則在 隊(duì)列中排隊(duì)等待 CPU時(shí)間片資源 ?Runnnig: 正在運(yùn)行 ?Blocked:( 阻塞) 因某事件或睡眠而被暫時(shí)性地掛起 ?Dead: 正常 /強(qiáng)行中斷,退出運(yùn)行狀態(tài) 6 Java的多線程機(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對(duì)多線程的支持 提供對(duì)多線程的支持 ?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類的對(duì)象后,一個(gè)新的線程誕生了。 ?每個(gè)線程都是通過目標(biāo)對(duì)象的方法 run()來完成其操作的。方法 run() 稱為線程體 (線程方法 )。 ?提供線程體的目標(biāo)對(duì)象是在初始化一個(gè)線程時(shí)指明的。 ?任何實(shí)現(xiàn)了 Runnable接口 (實(shí)現(xiàn) run()方法 )的類實(shí)例都可以作為線程的目標(biāo)對(duì)象。 6 Java的多線程機(jī)制 17 方法之一:繼承 Thread類 ?Thread類的重要方法: run( ) –定義線程的具體操作 –系統(tǒng)調(diào)度此線程時(shí)自動(dòng)執(zhí)行 –初始時(shí)無具體操作內(nèi)容 ?如何編程呢? - 繼承 Thread類,定義 run( ) 方法 6 Java的多線程機(jī)制 18 Easy? Let’s try it! ?小例子: – – 6 Java的
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1