菜鳥進階之路:了解使用多線程

      網友投稿 795 2022-05-29

      溫馨提示

      如果你喜歡本文,請分享到朋友圈,想要獲得更多信息,請關注我。

      小菜鳥

      大菜鳥,什么是多線程?

      多線程其實就是指一個程序運行時產生多個線程去執行。

      大菜鳥

      小菜鳥

      哦哦,那多線程和多進程有什么區別嗎?

      關于多進程和多線程,教科書上最經典的一句話是“進程是資源分配的最小單位,線程是CPU調度的最小單位”,一般來說進程是獨立的而同一進程中的線程是共享的,但是開一個進程的成本遠高于線程。但是進程隔離度比較高,線程使用的成本比較低但是對我們的掌控度控制的比較高。線程相互印象出問題的幾率也是很高的。然后線程和進程一樣分為五個階段:創建、就緒、運行、阻塞、終止。

      大菜鳥

      小菜鳥

      那他們都各有什么優缺點。

      這個的話我給你找了一張圖,可以清晰的了解它們之間的優缺點

      (源網絡。侵刪)

      大菜鳥

      小菜鳥

      明白了。但是線程的話在Java中怎么去使用線程呢呢。

      在Java中使用線程之前首先你要先了解線程的狀態。

      大菜鳥

      上面就說到。線程和進程一樣有五個狀態分別是創建、就緒、運行、阻塞、終止。在Java中去實現的話有三種方法去實現,一種就是通過繼承Thread類去實現。還有就是通過實現Runable接口,最后一種是實現Callable接口要和線程池配合使用。這個就教你了。這里是線程的狀態圖

      (源網絡。侵刪)

      大菜鳥

      小菜鳥

      那Thread和Runable有什么區別呢?

      簡單的來說如果一個類繼承Thread,則不適合資源共享。但是如果實現了Runable接口的話,則很容易的實現資源共享。

      大菜鳥

      小菜鳥

      那上面的狀態都對應了什么操作?

      1、新建狀態(New):新創建了一個線程對象。2、就緒狀態(Runnable):線程對象創建后,其他線程調用了該對象的start()方法。該狀態的線程位于可運行線程池中,變得可運行,等待獲取CPU的使用權。3、運行狀態(Running):就緒狀態的線程獲取了CPU,執行程序代碼。4、阻塞狀態(Blocked):阻塞狀態是線程因為某種原因放棄CPU使用權,暫時停止運行。直到線程進入就緒狀態,才有機會轉到運行狀態。阻塞的情況分三種:(一)、等待阻塞:運行的線程執行wait()方法,JVM會把該線程放入等待池中。(wait會釋放持有的鎖)(二)、同步阻塞:運行的線程在獲取對象的同步鎖時,若該同步鎖被別的線程占用,則JVM會把該線程放入鎖池中。(三)、其他阻塞:運行的線程執行sleep()或join()方法,或者發出了I/O請求時,JVM會把該線程置為阻塞狀態。當sleep()狀態超時、join()等待線程終止或者超時、或者I/O處理完畢時,線程重新轉入就緒狀態。(注意,sleep是不會釋放持有的鎖)5、死亡狀態(Dead):線程執行完了或者因異常退出了run()方法,該線程結束生命周期。

      大菜鳥

      小菜鳥

      sleep和wait什么區別?

      sleep是Thread類的方法,wait是Object類中定義的方法,sleep睡眠時保持鎖,wait睡眠時釋放鎖。這也是面試官進場問的一個面試題

      大菜鳥

      小菜鳥

      哦哦。都知道了。那我如何去使用呢。

      Java中使用的話可以這樣通過Thread實現

      大菜鳥

      運行結果。

      大菜鳥

      或者通過Runable實現接口。

      大菜鳥

      菜鳥的進階之路:了解使用多線程

      運行結果:

      大菜鳥

      小菜鳥

      很簡單呀,那我怎么讓線程等待呢?

      可以使用sleep。注意sleep需要傳遞等待時間是以毫秒為單位的

      大菜鳥

      小菜鳥

      學到了。我去練習一下。

      其實相對來說我給你介紹的很簡單很簡單。只是給你說一些概念和怎么去使用。更深入的有機會在給你講解。多線程可不止這一點哦

      大菜鳥

      任務調度 多線程

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:【大話云原生】kubernetes灰度發布篇-從步行到坐纜車的自動化服務升級
      下一篇:5分鐘在線體驗MindSpore的圖層IR--MindIR
      相關文章
      亚洲AV无码乱码国产麻豆| 亚洲人成电影网站国产精品| 在线观看亚洲精品福利片| 亚洲a无码综合a国产av中文| 亚洲一区二区三区丝袜| 精品亚洲456在线播放| 国产精品亚洲午夜一区二区三区| 亚洲成a人片在线观看中文app | 亚洲av色香蕉一区二区三区| 亚洲男人天堂2018av| 99亚偷拍自图区亚洲| 最新亚洲精品国偷自产在线| 亚洲性色AV日韩在线观看| 亚洲AV成人一区二区三区在线看| 亚洲videosbestsex日本| 亚洲av一本岛在线播放| ASS亚洲熟妇毛茸茸PICS| 久久国产亚洲精品| 亚洲AV日韩综合一区| 亚洲国产成人AV网站| 亚洲国产午夜中文字幕精品黄网站 | 亚洲乱码中文论理电影| 国产精品亚洲专区在线观看| 亚洲人成无码网站在线观看| 亚洲人成网站在线播放2019| 亚洲丁香婷婷综合久久| 国产偷国产偷亚洲高清在线 | 亚洲成网777777国产精品| 免费亚洲视频在线观看| 亚洲综合另类小说色区色噜噜| 亚洲亚洲人成综合网络| 亚洲爆乳无码专区| 亚洲高清视频在线播放| 亚洲三级在线免费观看| 亚洲另类无码一区二区三区| 亚洲人成电影网站色| 亚洲?V无码乱码国产精品| 中文字幕亚洲专区| 亚洲性天天干天天摸| 亚洲看片无码在线视频 | 18gay台湾男同亚洲男同|