摘要:如果沒有前臺線程了,那么整個程序都會結束。線程的合并將子線程加入主線程,兩個線程合并秒后分開。線程同步代碼塊必須是同一個對象才能進行同步。生命周期方法完成方法阻塞恢復線程執行,以上方法容易造成死鎖。線程的優先級默認為。
線程知識點歸納,后續更新
后臺線程:設置Thread.setDaemon(true)就是后臺線程了。
前臺線程:不設置。
如果沒有前臺線程了,那么整個程序都會結束。
線程的合并:Thread.join(10000);
將子線程加入主線程,兩個線程合并10秒后分開。
線程同步:
synchronized(Object){ 代碼塊 } Object必須是同一個對象才能進行同步。
在方法前面加synchronized。new Thread(Object).start();start只是準備運行,處于準備狀態,并不是確定開始執行。
實現代碼塊與方法的同步:synchronized(Object),
Object為Object.class(兩個為同一個對象監視器)
死鎖:你等我,我等你
線程間的通信:(要是同一個對象的waitnotifynotifyAll)
wait:告訴當前線程放棄監視器并進入睡眠狀態,直到其他線程進入同一監視器并調用notify為止。
notify:喚醒同一對象監視器中調用wait的第一個線程。用于類似飯館有一個空位后通知所有等候就餐的顧客中的第一位可以入座的情況。
notifyAll:喚醒同一對象監視器中調用wait的所有線程,具有最高優先級的線程首先被喚醒并執行。
生命周期:start-->runnable-->running-->run()方法完成
方法:
suspend(阻塞),resumen(恢復線程執行),stop()
以上方法容易造成死鎖。最好用一個變量去控制它的生命周期。
sleep方法:讓當前線程休眠。自己擁有鎖,不讓出。
自己過一段時間可以醒。
而wait方法,是在等待,讓出了鎖,需要別人叫醒。
yield方法:讓出cpu,給其他線程執行機會。
線程的優先級(Priority):默認為5。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70688.html
摘要:哪吒社區技能樹打卡打卡貼函數式接口簡介領域優質創作者哪吒公眾號作者架構師奮斗者掃描主頁左側二維碼,加入群聊,一起學習一起進步歡迎點贊收藏留言前情提要無意間聽到領導們的談話,現在公司的現狀是碼農太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區Java技能樹打卡?【打卡貼 day2...
摘要:本篇博客主要針對虛擬機的晚期編譯優化,內存模型與線程,線程安全與鎖優化進行總結,其余部分總結請點擊虛擬總結上篇,虛擬機總結中篇。 本篇博客主要針對Java虛擬機的晚期編譯優化,Java內存模型與線程,線程安全與鎖優化進行總結,其余部分總結請點擊Java虛擬總結上篇 ,Java虛擬機總結中篇。 一.晚期運行期優化 即時編譯器JIT 即時編譯器JIT的作用就是熱點代碼轉換為平臺相關的機器碼...
摘要:時間年月日星期六說明本文部分內容均來自慕課網。慕課網教學源碼無學習源碼第一章課前準備前言課程說明比較和這兩種線程創建的方式,需要知道和的基本創建方式。一旦主線程獲取到了用戶的輸入,這時候,阻塞就會解除掉,主線程繼續運行,直到結束。 時間:2017年07月08日星期六說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:無學習源碼:https://g...
摘要:本文主要內容為簡單總結中線程池的相關信息。方法簇方法簇用于創建固定線程數的線程池。三種常見線程池的對比上文總結了工具類創建常見線程池的方法,現對三種線程池區別進行比較。 概述 線程可認為是操作系統可調度的最小的程序執行序列,一般作為進程的組成部分,同一進程中多個線程可共享該進程的資源(如內存等)。在單核處理器架構下,操作系統一般使用分時的方式實現多線程;在多核處理器架構下,多個線程能夠...
摘要:多線程環境下的一些問題安全性問題在沒有正確同步的情況下,多線程環境下程序可能得出錯誤的結果。一些相關概念競爭條件多線程的環境下,程序執行的結果取決于線程交替執行的方式。而線程的交替操作順序是不可預測的,如此程序執行的結果也是不可預測的。 入口 Java多線程的應用復雜性之如jvm有限的幾個內存方面的操作和規范,就像無數紛繁復雜的應用邏輯建立在有限的指令集上。 如何寫出線程安全的程序,有...
時間:2017年07月09日星期日說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:無學習源碼:https://github.com/zccodere/s... 第一章:課程簡介 1-1 課程簡介 課程目標和學習內容 共享變量在線程間的可見性 synchronized實現可見性 volatile實現可見性 指令重排序 as-if-seria...
閱讀 3397·2021-11-22 15:22
閱讀 2375·2021-09-06 15:00
閱讀 878·2020-06-22 14:39
閱讀 3707·2019-08-30 15:56
閱讀 1547·2019-08-30 12:55
閱讀 3278·2019-08-29 17:19
閱讀 3236·2019-08-26 11:41
閱讀 621·2019-08-23 17:14