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

正文內(nèi)容

第16章多線程(已修改)

2025-08-01 07:56 本頁面
 

【正文】 第 16章 多線程 本章要點(diǎn) ? 了解多線程在 Windows系統(tǒng)的執(zhí)行模式 ? 掌握實(shí)現(xiàn)線程的兩種方式 ? 掌握線程的狀態(tài) ? 掌握使線程進(jìn)入各種狀態(tài)的方法 ? 掌握線程的優(yōu)先級 ? 掌握線程安全 ? 掌握線程同步機(jī)制 ? 掌握線程間的通信 第 16章 多線程 ? 線程簡介 ? 實(shí)現(xiàn)線程的兩種方法 ? 線程的生命周期 ? 操作線程的方法 ? 線程的優(yōu)先級 ? 線程同步 ? 線程間的通信 主要內(nèi)容 線程簡介 ? 世間萬物會同時完成很多工作: ? 例如人體同時進(jìn)行呼吸、血液循環(huán)、思考問題等活動; ? 用戶既可以使用計算機(jī)聽歌,也可以使用它打印文件, ? 而這些活動完全可以 同時進(jìn)行 ,這種思想在Java中被稱為 并發(fā) ,而將并發(fā)完成的每一件事情稱為 線程 。 線程簡介 ? 在人們的生活中,并發(fā)機(jī)制非常重要, 但是并不是所有的程序語言都支持線程 。 ? 在以往的程序中,多以一個任務(wù)完成后再進(jìn)行下一個項目的模式進(jìn)行開發(fā),這樣下一個任務(wù)的開始必須等待前一個任務(wù)的結(jié)束。 ? Java語言提供 并發(fā)機(jī)制 ,程序員可以在程序中執(zhí)行 多個線程 ,每一個線程完成 一個功能 ,并與其他線程 并發(fā)執(zhí)行 ,這種機(jī)制被稱為 多線程 。 線程簡介 ? Java中的多線程在每個操作系統(tǒng)中的運(yùn)行方式也存在差異,在此著重說明多線程在Windows操作系統(tǒng) 的運(yùn)行模式。 ? Windows操作系統(tǒng)是多任務(wù)操作系統(tǒng),它以進(jìn)程為單位。 ? 一個進(jìn)程是一個包含有自身地址的程序,每個獨(dú)立執(zhí)行的程序都稱為進(jìn)程,也就是正在執(zhí)行的程序。 線程簡介 ? 進(jìn)程 是一個用來描述處于動態(tài)運(yùn)行狀態(tài)的應(yīng)用程序的概念,即一個進(jìn)程就是 一個執(zhí)行中的程序 ,每個進(jìn)程都有一塊自己 獨(dú)立的地址空間 ,并可以包含 多個線程 。這些線程將 共享 進(jìn)程的地址空間及操作系統(tǒng)分配給這個進(jìn)程的資源。 ? 線程 一般是指進(jìn)程中的 一個執(zhí)行流 ,多線程是指在一個進(jìn)程中 同時運(yùn)行多個 不同線程,每個線程分別執(zhí)行 不同的任務(wù) 。 線程簡介 ? 系統(tǒng)可以分配給每個進(jìn)程 一段有限的使用CPU的時間 (也可以稱為 CPU時間片 ),CPU在這段時間中執(zhí)行某個進(jìn)程,然后下一個時間片又跳至另一個進(jìn)程中去執(zhí)行。 ? 由于 CPU轉(zhuǎn)換較快,所以使得每個進(jìn)程好像是 同時執(zhí)行 一樣。 線程簡介 ? 一個線程則是進(jìn)程中的執(zhí)行流程, 一 個進(jìn)程中可以同時包括多個線程 ,每個線程也可以得到 一小段程序的執(zhí)行時間 ,這樣一個進(jìn)程就可以具有 多個并發(fā)執(zhí)行的線程 。 ? 在單線程中,程序代碼按調(diào)用順序依次往下執(zhí)行,如果需要一個進(jìn)程 同時 完成多段代碼的操作 ,就需要產(chǎn)生多線程。 實(shí)現(xiàn)線程的兩種方式 ? 繼承 Thread類 ? 實(shí)現(xiàn) Runnable接口 繼承 Thread類 ? Thread類是 ,從這個類中實(shí)例化的對象代表線程, 程序員啟動一個新線程需要建立 Thread實(shí)例。 ? Thread類中常用的兩個構(gòu)造方法如下: public Thread(String threadName)。 public Thread()。 ? 其中第一個構(gòu)造方法是創(chuàng)建一個名稱為threadName的線程對象。 繼承 Thread類 ? 繼承 Thread類創(chuàng)建一個新的線程的語法如下: public class ThreadTest extends Thread{ //... } 繼承 Thread類 ? 如果需要創(chuàng)建線程應(yīng)該先定義一個 Thread類的子類 ,并且 覆蓋 其中的 run()成員方法 ,將線程執(zhí)行的程序代碼寫在其中。 ? Thread對象需要一個 任務(wù) 來執(zhí)行,任務(wù)是指線程在啟動時執(zhí)行的工作,該工作的功能代碼被寫在 run()方法中。 繼承 Thread類 ? 這個 run()方法必須使用如下這種語法格式: public void run(){ //... } ?注意:盡管在 Thread的子類中覆蓋了 run()成員方法,但用戶不能直接調(diào)用它,而是需要通過調(diào)用 Thread類中的 start()方法間接地使用它。 繼承 Thread類- 注意 ? 1) start()方法的調(diào)用后 并不是立即執(zhí)行 多線程代碼,而是使得該線程變?yōu)?可運(yùn)行態(tài)(Runnable),什么時候運(yùn)行是由操作系統(tǒng)決定的。 ? 2)如果 start()方法調(diào)用一個 已經(jīng)啟動 的線程,系統(tǒng)將拋出 IllegalThreadStateException異常。 繼承 Thread類- 注意 ? main()方法線程啟動由 Java虛擬機(jī)負(fù)責(zé),程序員負(fù)責(zé)啟動自己的線程。語法如下: public static void main(String[] args) { new ThreadTest().start()。 } public class MyThread extends Thread{ public void run(){ for(int n=1。n3。n++){ for(int i=1。i4。i++) (getName()+(+i+) )。 ()。 } (exit from +getName())。 } } 創(chuàng)建兩個線程對象,分別實(shí)現(xiàn)重復(fù)顯示 1~3數(shù)字的功能 public class Test { public static void main(String[] args) { Thread t1=new MyThread()。 (T1)。 Thread t2=new MyThrea
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1