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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java多線程編程基礎知識總結

Java多線程編程基礎知識總結

更新時間:2020-01-16 15:53:59 來源:動力節(jié)點 瀏覽2394次


Java多線程編程基礎知識總結


  一、進程


  進程是操作系統(tǒng)結構的基礎;是一次程序的執(zhí)行;是一個程序及其數(shù)據(jù)在處理機上順序執(zhí)行時所發(fā)生的活動。操作系統(tǒng)中,幾乎所有運行中的任務對應一條進程(Process)。一個程序進入內(nèi)存運行,即變成一個進程。進程是處于運行過程中的程序,并且具有一定獨立功能。描述進程的有一句話非常經(jīng)典——進程是系統(tǒng)進行資源分配和調度的一個獨立單位。


  進程是系統(tǒng)中獨立存在的實體,擁有自己獨立的資源,擁有自己私有的地址空間。進程的實質,就是程序在多道程序系統(tǒng)中的一次執(zhí)行過程,它是動態(tài)產(chǎn)生,動態(tài)消亡的,具有自己的生命周期和各種不同的狀態(tài)。進程具有并發(fā)性,它可以同其他進程一起并發(fā)執(zhí)行,按各自獨立的、不可預知的速度向前推進。


  (注意,并發(fā)性(concurrency)和并行性(parallel)是不同的。并行指的是同一時刻,多個指令在多臺處理器上同時運行。并發(fā)指的是同一時刻只能有一條指令執(zhí)行,但多個進程指令被快速輪換執(zhí)行,看起來就好像多個指令同時執(zhí)行一樣。)


  進程由程序、數(shù)據(jù)和進程控制塊三部分組成。


  二、線程


  線程,有時被稱為輕量級進程(Lightweight Process,LWP),是程序執(zhí)行流的最小單元。一個標準的線程由線程ID,當前指令指針(PC),寄存器集合和堆棧組成。另外,線程是進程中的一個實體,是被系統(tǒng)獨立調度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點兒在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。一個線程可以創(chuàng)建和撤消另一個線程,同一進程中的多個線程之間可以并發(fā)執(zhí)行。由于線程之間的相互制約,致使線程在運行中呈現(xiàn)出間斷性。每一個程序都至少有一個線程,若程序只有一個線程,那就是程序本身。


  線程是程序中一個單一的順序控制流程。在單個程序中同時運行多個線程完成不同的工作,稱為多線程。


  在Java Web中要注意,線程是JVM級別的,在不停止的情況下,跟JVM共同消亡,就是說如果一個Web服務啟動了多個Web應用,某個Web應用啟動了某個線程,如果關閉這個Web應用,線程并不會關閉,因為JVM還在運行,所以別忘了設置Web應用關閉時停止線程。


  三、線程狀態(tài)


  線程狀態(tài)圖:


Java多線程編程基礎知識總結


  Java線程具有五種基本狀態(tài)


  1、新建狀態(tài)(New):當線程對象對創(chuàng)建后,即進入了新建狀態(tài),如:Thread t = new MyThread();


  2、就緒狀態(tài)(Runnable):也被稱為“可執(zhí)行狀態(tài)”。當調用線程對象的start()方法(t.start();),線程即進入就緒狀態(tài)。處于就緒狀態(tài)的線程,只是說明此線程已經(jīng)做好了準備,隨時等待CPU調度執(zhí)行,并不是說執(zhí)行了t.start()此線程立即就會執(zhí)行;


  3、運行狀態(tài)(Running):當CPU開始調度處于就緒狀態(tài)的線程時,此時線程才得以真正執(zhí)行,即進入到運行狀態(tài)。注:就緒狀態(tài)是進入到運行狀態(tài)的唯一入口,也就是說,線程要想進入運行狀態(tài)執(zhí)行,首先必須處于就緒狀態(tài)中;


  4、阻塞狀態(tài)(Blocked):處于運行狀態(tài)中的線程由于某種原因,暫時放棄對CPU的使用權,停止執(zhí)行,此時進入阻塞狀態(tài),直到其進入到就緒狀態(tài),才有機會再次被CPU調用以進入到運行狀態(tài)。根據(jù)阻塞產(chǎn)生的原因不同,阻塞狀態(tài)又可以分為三種:


  (1)等待阻塞 -- 運行狀態(tài)中的線程執(zhí)行wait()方法,使本線程進入到等待阻塞狀態(tài);


  (2)同步阻塞 -- 線程在獲取synchronized同步鎖失敗(因為鎖被其它線程所占用),它會進入同步阻塞狀態(tài);


  (3)其他阻塞 -- 通過調用線程的sleep()或join()或發(fā)出了I/O請求時,線程會進入到阻塞狀態(tài)。當sleep()狀態(tài)超時、join()等待線程終止或者超時、或者I/O處理完畢時,線程重新轉入就緒狀態(tài)。


  5、死亡狀態(tài)(Dead):線程執(zhí)行完了或者因異常退出了run()方法,該線程結束生命周期。


Java多線程編程基礎知識總結


       以上就是動力節(jié)點Java培訓機構小編介紹的“Java多線程編程基礎知識總結”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。


  相關內(nèi)容


  java多線程的狀態(tài)轉換以及基本操作


  常見Java多線程面試題總結


  Java多線程學習,深入解析


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本一本久道 | 在线视频免费观看a毛片 | 日韩无毛| 91精品欧美 | 亚洲欧美香蕉在线日韩精选 | 色综合久久久久久久久五月性色 | 久久受www免费人成_看片中文 | 国产精品亚洲专区在线观看 | 日本综合久久 | 91精品在线视频观看 | 99精品全国免费观看视频.. | 5g影院天天爽天天 | 看国产一级片 | 国产精品1区2区3区在线播放 | 中文字幕精品视频在线观 | 伦理影院在线观看 | 国产乱理伦片在线看 | 丝袜美腿极品老师系列集合 | 外国一级黄色毛片 | 精品国内自产拍在线视频 | 亚洲欧美精品成人久久91 | 香蕉视频三级 | 夜夜尻| 日韩精品在线看 | 日日操夜夜操视频 | 美女国内精品自产拍在线播放 | 欧美黄成人免费网站大全 | 中文字幕手机在线视频 | 欧美另类tv | 天天摸天天碰色综合网 | 国产人成精品 | 色偷偷人人澡久久天天 | 黑人操日本人视频 | 日本精品a在线观看 | 国产在线视频第一页 | 久久亚洲欧美综合激情一区 | 一个人看的www的视频免费 | 欧美va天堂 | 一个人看的www片免费高清中文 | 亚洲人成网站在线播放观看 | 欧美一级爽快片淫片高清在线观看 |