黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Java線程概念是什么

Java線程概念是什么

更新時(shí)間:2021-05-21 16:33:22 來源:動(dòng)力節(jié)點(diǎn) 瀏覽859次

世間萬物都可以同時(shí)完成很多工作。例如,人體可以同時(shí)進(jìn)行呼吸、血液循環(huán)、思考問題等活動(dòng)。用戶既可以使用計(jì)算機(jī)聽歌,也可以編寫文檔和發(fā)送郵件,而這些活動(dòng)的完成可以同時(shí)進(jìn)行。這種同時(shí)執(zhí)行多個(gè)操作的“思想”在Java中被稱為并發(fā),而將并發(fā)完成的每一件事稱為線程。

在Java中,并發(fā)機(jī)制非常重要,但并不是所有程序語言都支持線程。在以往的程序中,多以一個(gè)任務(wù)完成以后再進(jìn)行下一個(gè)任務(wù)的模式進(jìn)行,這樣下一個(gè)任務(wù)的開始必須等待前一個(gè)任務(wù)的結(jié)束。Java語言提供了并發(fā)機(jī)制,允許開發(fā)人員在程序中執(zhí)行多個(gè)線程,每個(gè)線程完成一個(gè)功能,并與其他線程并發(fā)執(zhí)行。這種機(jī)制被稱為多線程

多線程是非常復(fù)雜的機(jī)制,比如同時(shí)閱讀3本書。首先閱讀第1本第1章,然后再閱讀第2本第1章,再閱讀第3本第1章,接著回過頭閱讀第1本第2章,以此類推,就體現(xiàn)了多線程的復(fù)雜性。

既然多線程這么復(fù)雜,那么它在操作系統(tǒng)中是怎樣工作的呢?其實(shí),Java中的多線程在每個(gè)操作系統(tǒng)中的運(yùn)行方式也存在差異,在此以Windows操作系統(tǒng)為例介紹其運(yùn)行模式。

Windows系統(tǒng)是多任務(wù)操作系統(tǒng),它以進(jìn)程為單位。一個(gè)進(jìn)程是一個(gè)包含有自身地址的程序,每個(gè)獨(dú)立執(zhí)行的程序都稱為進(jìn)程,也就是正在執(zhí)行的程序。圖1所示為Windows 7系統(tǒng)下使用任務(wù)管理器查看進(jìn)程的結(jié)果。

Java線程概念是什么

圖1查看Windows 7的進(jìn)程

系統(tǒng)可以分配給每個(gè)進(jìn)程一段有限的執(zhí)行CPU的時(shí)間(也稱為CPU時(shí)間片),CPU在這段時(shí)間中執(zhí)行某個(gè)進(jìn)程,然后下一個(gè)時(shí)間段又跳到另一個(gè)進(jìn)程中去執(zhí)行。由于CPU切換的速度非常快,給使用者的感受就是這些任務(wù)似乎在同時(shí)運(yùn)行,所以使用多線程技術(shù)后,可以在同一時(shí)間內(nèi)運(yùn)行更多不同種類的任務(wù)。

圖2的左圖是單線程環(huán)境下任務(wù)1和任務(wù)2的執(zhí)行模式。任務(wù)1和任務(wù)2是兩個(gè)完全獨(dú)立、互不相關(guān)的任務(wù),任務(wù)1是在等待遠(yuǎn)程服務(wù)器返回?cái)?shù)據(jù),以便進(jìn)行后期的處理,這時(shí)CPU一直處于等待狀態(tài),一直在“空運(yùn)行”。如果任務(wù)2是在5秒之后被運(yùn)行,雖然執(zhí)行任務(wù)2用的時(shí)間非常短,僅僅是1秒,但必須在任務(wù)1運(yùn)行結(jié)束后才可以運(yùn)行任務(wù)2。由于運(yùn)行在單任務(wù)環(huán)境中,所以任務(wù)2有非常長的等待時(shí)間,系統(tǒng)運(yùn)行效率大幅降低。

單任務(wù)的特點(diǎn)就是排隊(duì)執(zhí)行,也就是同步,就像在cmd中輸入一條命令后,必須等待這條命令執(zhí)行完才可以執(zhí)行下一條命令一樣。這就是單任務(wù)環(huán)境的缺點(diǎn),即CPU利用率大幅降低。

Java線程概念是什么

圖2單線程和多線程執(zhí)行模式

圖2的右側(cè)則是多線程環(huán)境下的執(zhí)行模式。從中可以發(fā)現(xiàn),CPU完全可以在任務(wù)1和任務(wù)2之間來回切換,使任務(wù)2不必等到5秒再運(yùn)行,系統(tǒng)的運(yùn)行效率大大得到提升。這就是要使用多線程技術(shù)、要學(xué)習(xí)多線程的原因。

那么什么是線程呢?線程可以理解成是在進(jìn)程中獨(dú)立運(yùn)行的子任務(wù)。比如,QQ.exe運(yùn)行時(shí)就有很多的子任務(wù)在同時(shí)運(yùn)行。像好友視頻、下載文件、傳輸數(shù)據(jù)、發(fā)送表情等,這些不同的任務(wù)或者說功能都可以同時(shí)運(yùn)行,其中每一項(xiàng)任務(wù)完全可以理解成是“線程”在工作,傳文件、聽音樂、發(fā)送圖片表情等功能都有對應(yīng)的線程在后臺(tái)默默地運(yùn)行。

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Java線程概念是什么?",希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美日韩在线视频专区免费 | 高h啃咬花蒂| 精品色 | 黄毛片网站| 午夜国产福利在线观看 | 日韩在线视精品在亚洲 | 国产人免费人成免费视频 | 在线免费观看黄色大片 | 欧美午夜性 | 欧美亚洲国产片在线观看 | 91在线视频免费91 | 中文字幕亚洲欧美日韩高清 | 国产精品二区三区免费播放心 | 国产欧美日韩在线观看无需安装 | 日本全黄三级在线观看 | h全彩黄漫网站 | 成人影视大全 | 一区二区不卡在线观看 | 99精品国产综合久久久久 | 99免费精品视频 | 插插宗合网 | 视色视频在线 | 欧美亚洲另类一区中文字幕 | 亚洲日本韩国欧美 | 成人在线免费视频播放 | www在线视频 | 在线免费观看色 | 天天综合在线视频 | 在线观看免费黄视频 | 欧美一级裸片 | www.免费黄色 | 中国日韩欧美中文日韩欧美色 | 一本大道香蕉在线观看视频 | 黄在线免费 | 国产黄色高清视频 | 天天爽天天爱 | vr欧美乱强伦xxxxx | 中文国产成人精品久久一区 | 91社区在线观看精品 | 国产成人午夜片在线观看 | 美女下面粉嫩粉嫩冒白浆高清 |