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

專注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ù)文檔推薦 >>
主站蜘蛛池模板: 国产成人免费高清视频 | 在线成人爽a毛片免费软件 在线成人影片 | 色原网 | 国产已拍视频 | 成年人羞羞视频 | 日本处888xxxx | 福利视频欧美一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 九九久久精品这里久久网 | 卡一卡二卡三精品入口 | 亚洲人成网址在线播放a | 狠狠干夜夜骑 | 国产一区二区三区在线看片 | 丝袜美女网| 丁香在线 | 黄色在线不卡 | 国产看片视频 | 久久久久国产一级毛片高清版 | 秋霞影视伦理手机在线观看 | 国产偷倩视频 | 亚洲天堂在线观看视频 | 亚洲欧美专区 | 香蕉视频污污在线观看 | 日韩精品中文字幕视频一区 | 久久午夜夜伦伦鲁鲁片 | 一区二区三区四区日韩 | 高清一区二区亚洲欧美日韩 | 免费一区视频 | 最近中文字幕2019高清8? | 黄视频免费网站 | 久久精品视频亚洲 | 久久久高清日本道免费观看 | 久久99精品麻豆国产 | 婷婷六月久久综合丁香乐透 | 2021天堂在线亚洲精品专区 | 久久橹| 中文字幕亚洲区 | 欧美精品亚洲精品日韩经典 | 久久亚洲欧美综合激情一区 | 国产夜夜爽 | 韩国欧洲一级毛片免费 |