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

正文內(nèi)容

java語言程序設(shè)計(jì)基礎(chǔ)教程多線程ppt(已修改)

2024-10-30 15:00 本頁面
 

【正文】 第 7章 多線程 ? 線程簡介 ? Thread類的子類創(chuàng)建線程 ? 實(shí)現(xiàn) Runnable接口 ? 基本的線程控制 ? 線程的調(diào)度 ? 多線程的互斥與同步 ? Daemon線程 ? 到目前為止所介紹過的各種范例都是單線程程序 , 也就是啟動(dòng)的 Java程序在“ 同一時(shí)間 ” 內(nèi)只會(huì)做一件事 。 文本模式下最常進(jìn)行的就是單線程程序 。 有時(shí)需要程序 “ 同時(shí) ” 可以作很多事 , 即所謂多線程 ( Multithread) 程序 , 在窗口程序 、 網(wǎng)絡(luò)程序中常使用多線程功能 ,了解多線程概念與注意事項(xiàng)是非常重要的 。 ? 程序 是一段靜態(tài)的代碼,它是應(yīng)用軟件執(zhí)行的藍(lán)本。 ? 進(jìn)程 是程序的一次動(dòng)態(tài)執(zhí)行過程,它對(duì)應(yīng)了從代碼加載、執(zhí)行至執(zhí)行完畢的一個(gè)完整過程,這個(gè)過程也是進(jìn)程本身從產(chǎn)生、發(fā)展至消亡的過程。線程是比進(jìn)程更小的執(zhí)行單位 ,一個(gè)進(jìn)程在其執(zhí)行過程中,可以產(chǎn)生多個(gè)線程,形成多條執(zhí)行線索,每條線索,即每個(gè)線程也有它自身的產(chǎn)生、存在和消亡的過程,也是一個(gè)動(dòng)態(tài)的概念。 ? Java的多線程 就是在操作系統(tǒng)每次分時(shí)給 Java程序一個(gè)時(shí)間片的 CPU時(shí)間內(nèi),在若干個(gè)獨(dú)立的可控制的線程之間切換。 ? Java使用 Thread類及其子類的對(duì)象來表示線程,線程在它的一個(gè)完整的生命周期中通常要經(jīng)歷如下的 4種狀態(tài): ? 1. 創(chuàng)建狀態(tài) (new Thread) ? 2. 可運(yùn)行狀態(tài) ( Runnable ) ? 3. 不可運(yùn)行狀態(tài)( Not Runnable) ? 4. 死亡狀態(tài)( Dead) Thread類的子類創(chuàng)建線程 ? 用 Thread類或子類創(chuàng)建線程對(duì)象 . ? 編寫 Thread類的子類時(shí),需要重寫父類的 run方法,其目的是規(guī)定線程的具體操作,否則線程就什么也不做,因?yàn)楦割惖?run方法中沒有任何操作語句。 ? 當(dāng) JVM將 CPU使用權(quán)切換給線程時(shí),如果線程是 Thread的子類創(chuàng)建的,該類中的run方法就立刻執(zhí)行。 Runnable接口 ? 創(chuàng)建線程的另一個(gè)途徑就是用 Thread類直接創(chuàng)建線程對(duì)象。使用 Thread類創(chuàng)建線程對(duì)象時(shí),常用的構(gòu)造方法是: ? Thread(Runnable target)。 ? 該構(gòu)造方法中的參數(shù)是一個(gè) Runnable類型的接口,因此,在創(chuàng)建線程對(duì)象時(shí),必須向構(gòu)造方法的參數(shù)傳遞一個(gè)實(shí)現(xiàn) Runnable接口類的實(shí)例,該實(shí)例對(duì)象稱為所創(chuàng)線程的目標(biāo)對(duì)象。 【 例 73】 通過接口構(gòu)造線程體 ? import 。 ? import 。 ? public class ep7_3 extends implements Runnable {// 實(shí)現(xiàn)接口 ? Thread clockThread。 ? public void start() { ? if (clockThread == null) { ? clockThread = new Thread(this, Clock)。 ? ()。 // 啟動(dòng)線程 ? } ? } ? public void run() { // run()方法中是線程執(zhí)行的內(nèi)容 ? while (clockThread != null) { ? repaint()。 // 刷新顯示畫面 ? try { ? (1000)。// 睡眠 1秒,即每隔 1秒執(zhí)行一次 ? } catch (InterruptedException e) { ? } ? } ? } ? public void paint(Graphics g) { ? Date now = new Date()。 // 獲得當(dāng)前的時(shí)間對(duì)象 ? (() + : + () + : ? + (), 5, 10)。// 顯示當(dāng)前時(shí)間 ? } ? public void stop() { ? ()。 ? clockThread = null。 ? } ? } ? 本程序是 Applet,要運(yùn)行 Applet程序,必須定義一個(gè) html文件,: ? html ? head ? title/title ? /head ? body ? applet codebase=. ? code= ? name= ? width=200 ? height=100 ? /applet ? /body ? /html ? 上面這個(gè)例子是通過每隔 1秒種就執(zhí)行線程的刷新畫面功能,顯示當(dāng)前的時(shí)間;看起來的效果就是一個(gè)時(shí)鐘,每隔 1秒就變
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1