資料介紹
多線程編程是提高應(yīng)用程序性能的重要手段之一。Java平臺從開始就被設(shè)計(jì)成為多線程環(huán)境,從語言級上支持多線程。在Java語言中,提供了創(chuàng)建、啟動(dòng)、調(diào)度、同步等各種線程管理方法,下面會進(jìn)行詳細(xì)介紹。
多線程編程的目的是最大限度地利用CPU資源。當(dāng)某一線程的處理不需要占用CPU,而只和I/O、內(nèi)存等資源打交道時(shí),讓需要占用CPU資源的其他線程有機(jī)會獲得CPU資源。要掌握多線程編程,需要弄清如下兩個(gè)區(qū)別。
最初在Unix等多用戶、多任務(wù)操作系統(tǒng)環(huán)境下,為了提高操作系統(tǒng)的并行性和資源利用率,提出了進(jìn)程的概念。進(jìn)程首先是個(gè)動(dòng)態(tài)的過程,是程序的一次執(zhí)行。進(jìn)程用于表示應(yīng)用程序在內(nèi)存環(huán)境中執(zhí)行的基本單元,通常有如下一些特點(diǎn)。
進(jìn)程是操作系統(tǒng)環(huán)境中的基本成分、是系統(tǒng)資源分配的基本單位。進(jìn)程在執(zhí)行過程中有內(nèi)存單元的初始入口點(diǎn),并且進(jìn)程存活過程中始終擁有獨(dú)立的內(nèi)存地址空間。進(jìn)程的生存期狀態(tài)包括創(chuàng)建、就緒、運(yùn)行、阻塞和死亡等類型。
從用戶角度來看,進(jìn)程是應(yīng)用程序的一個(gè)執(zhí)行過程。從操作系統(tǒng)核心角度來看,進(jìn)程代表的是操作系統(tǒng)分配的內(nèi)存、CPU時(shí)間片等資源的基本單位,是為正在運(yùn)行的程序提供的運(yùn)行環(huán)境。
隨著對計(jì)算能力需求的不斷增長,計(jì)算機(jī)系統(tǒng)中的資源也顯得越發(fā)寶貴。頻繁的進(jìn)程狀態(tài)切換會消耗大量的系統(tǒng)資源,為解決此問題,提出了線程的概念。線程仍然是處理器調(diào)度的基本單位,但不再是資源分配的單位。線程的狀態(tài)切換比進(jìn)程切換的負(fù)擔(dān)要小得多。Java語言從開始就被設(shè)計(jì)成為多線程環(huán)境,從語言級別上支持多線程。
另一個(gè)重要的區(qū)別是線程對象和線程的區(qū)別。線程對象是指可以產(chǎn)生線程的對象,如在Java語言中的Thread對象、Runnable對象。線程是指正在執(zhí)行的一個(gè)指令序列。在Java語言中是指從一個(gè)線程對象的start()方法執(zhí)行開始,運(yùn)行run()方法體中的那一段相對獨(dú)立的過程。
對線程概念有了基本認(rèn)識之后,下面章節(jié)就詳細(xì)介紹Java語言中的多線程編程方法。
- 零點(diǎn)起步之PIC單片機(jī)常用模塊與典型實(shí)例 0次下載
- 零點(diǎn)起步之AVR單片機(jī)開發(fā)入門與典型實(shí)例 0次下載
- Java程序設(shè)計(jì)之Java安全技術(shù)網(wǎng)絡(luò)編程的詳細(xì)資料說明 6次下載
- Java教程之XML與內(nèi)容管理的詳細(xì)資料說明 10次下載
- Java程序設(shè)計(jì)教程之Java WEB服務(wù)器端編程的詳細(xì)資料說明 11次下載
- Java教程之零點(diǎn)起飛學(xué)Java的類與對象資料說明 14次下載
- Java教程之零點(diǎn)起飛學(xué)Java的異常處理資料說明 11次下載
- JAVA教程之消息、繼承與多態(tài)的應(yīng)用和資料介紹說明 0次下載
- JAVA教程之類與對象的詳細(xì)資料說明 0次下載
- JAVA程序設(shè)計(jì)教程之Java中系統(tǒng)類的詳細(xì)資料說明 0次下載
- JAVA程序設(shè)計(jì)教程之Java語言基礎(chǔ)的詳細(xì)資料說明 0次下載
- JAVA程序設(shè)計(jì)教程之數(shù)組的詳細(xì)資料說明 0次下載
- java教程之如何進(jìn)行Java異常處理? 0次下載
- java學(xué)習(xí)——java面試【事務(wù)、鎖、多線程】資料整理 0次下載
- JAVA教程之Java畫圖程序 13次下載
- 什么是零點(diǎn)漂移?零點(diǎn)漂移產(chǎn)生的原因及解決辦法 2w次閱讀
- Java多線程的用法 831次閱讀
- KUKAC4機(jī)器人零點(diǎn)校正 635次閱讀
- 詳解傳遞函數(shù)的零點(diǎn)和極點(diǎn) 1.9w次閱讀
- 機(jī)器人通過外部零點(diǎn)標(biāo)定進(jìn)行零點(diǎn)復(fù)歸測試 1067次閱讀
- Java多線程永動(dòng)任務(wù) 多線程異步任務(wù)項(xiàng)目解讀 981次閱讀
- 差壓變送器的零點(diǎn)遷移 5207次閱讀
- 差壓式液位計(jì)為什么要進(jìn)行零點(diǎn)遷移 1.4w次閱讀
- java定時(shí)器和多線程 2690次閱讀
- 常見顯示儀表零點(diǎn)檢查和調(diào)整方法 8774次閱讀
- java開發(fā)中遇到的難點(diǎn)有哪些_java開發(fā)常見的問題及解決辦法 9.3w次閱讀
- java基礎(chǔ)知識點(diǎn)匯總 6288次閱讀
- 一文看懂scala和java的區(qū)別 6.5w次閱讀
- Java多線程總結(jié)之Queue 3244次閱讀
- 產(chǎn)生零點(diǎn)漂移的原因及解決措施 2.2w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多