
線程是進程中的一個獨立控制單元,線程在控制著進程的執(zhí)行,一個進程中至少有一個線程。多線程可以更好地利用cpu的資源,線程之間還能進行數(shù)據(jù)共享。
在Java中,一個線程是指進程中的一個執(zhí)行流程,一個進程可以運行多個線程,Java中每個線程都有一個調(diào)用棧,即使不在程序中創(chuàng)建任何新的線程,也有一個main()方法運行在一個線程內(nèi),稱為主線程,一旦創(chuàng)建一個新的線程,就產(chǎn)生一個新的調(diào)用棧。?
通過多線程專題課程的系統(tǒng)學習,讓大家一次性搞明白Java中的多線程。

課程目標:
通過本系列課程的學習,一次性搞明白多線程,提升自身技術(shù)能力與價值。
適用人群:
具有Java基礎(chǔ)的人群,希望系統(tǒng)學習Java多線程的人群。
多線程學習教程:
https://www.bilibili.com/video/BV1Rv411y7MU
課程目錄:
?001.多線程:進程線程與主線程的概念
?002.多線程:串行并發(fā)與并行
?003.多線程:以繼承Thread類的形式創(chuàng)建線程
?004.多線程:多線程運行結(jié)果是隨機的
?005.多線程:實現(xiàn)Runnable接口的形式創(chuàng)建線程
?006.多線程:currentThread方法
?007.多線程:currentThread的一個復雜案例
?008.多線程:isAlive方法測試線程活動狀態(tài)
?009.多線程:sleep方法線程休眠
?010.多線程:使用sleep方法設計一個倒計時器
?011.多線程:getid方法獲得線程編號
?012.多線程:yield方法放棄CPU資源
?013.多線程:setPriority設置線程優(yōu)先級
?014.多線程:interrupt中斷線程
?015.多線程:setDaemon設置守護線程.
?016.多線程:線程生命周期介紹
?017.多線程:線程狀態(tài)圖
?018.多線程:多線程的優(yōu)勢
?019.多線程:多線程編程存在的問題與風險
?020.多線程:線程的原子性1
?021.多線程:線程的原子性2
?022.多線程:線程可見性1
?023.多線程:線程可見性2
?024.多線程:線程有序性之重排序概念
?025.多線程:線程有序性之指令重排序
?026.多線程:線程有序性之存儲子系統(tǒng)重排序1
?027.多線程:線程有序性之存儲子系統(tǒng)重排序2
?028.多線程:貌似串行語義
?029.多線程:保證內(nèi)存訪問順序
?030.多線程:Java內(nèi)存模型1
?031.多線程:Java內(nèi)存模型2
?032.多線程:線程同步機制簡介
?033.多線程:鎖概述
?034.多線程:鎖的作用
?035.多線程:鎖的相關(guān)概念
?036.多線程:synchronized關(guān)鍵字介紹
?037.多線程:同步代碼塊this鎖對象
?038.多線程:鎖對象不同不能實現(xiàn)同步
?039.多線程:使用常量作為鎖對象
?040.多線程:同步實例方法
?041.多線程:同步靜態(tài)方法
?042.多線程:與同步方法比同步代碼塊執(zhí)行效率高
?043.多線程:臟讀
?044.多線程:線程出現(xiàn)異常會自動釋放鎖
?045.多線程:死鎖
?046.多線程:volatile的作用
?047.多線程:volatile與synchronized的區(qū)別
?048.多線程:volatile不具備原子性
?049.多線程:使用原子類進行自增操作
?050.多線程:CAS簡介
?051.多線程:使用CAS實現(xiàn)線程安全的計數(shù)器
?052.多線程:CAS中的ABA問題
?053.多線程:原子變量類概述
?054.多線程:使用AtomicLong定義計數(shù)器
?055.多線程:模擬用戶請求
?056.多線程:AtomicIntegerArray的基本操作
?057.多線程:多線程中使用原子數(shù)組
?058.多線程:AtomicIntegerFiledUpdater更新字段
?059.多線程:AtomicReference原子操作對象
?060.多線程:演示AtomicReference中的ABA問題
?061.多線程:使用AtomicStampedReference解決CAS中的ABA問題
?062.多線程:什么是等待通知機制
?063.多線程:等待通知機制的實現(xiàn)
?064.多線程:wait方法的基本使用
?065.多線程:使用notify喚醒線程
?066.多線程:notify不會立即釋放渙對象
?067.多線程:interrupt會中斷線程的wait等待
?068.多線程:notify()與notifyAll()方法區(qū)別
?069.多線程:wait(long)方法的使用
?070.多線程:通知過早
?071.多線程:wait條件發(fā)生了變化1
?072.多線程:wait條件發(fā)生了變化2
?073.多線程:生產(chǎn)者-消費者模式之操作值
?074.多線程:一生產(chǎn)一消費操作值
?075.多線程:多生產(chǎn)多消費操作值
?076.多線程:一生產(chǎn)一消費操作棧1
?077.多線程:多生產(chǎn)多消費操作棧2
?078.多線程:通過管道流實現(xiàn)線程間通信1
?079.多線程:ThreadLocal的基本使用
?080.多線程:ThreadLocal應用
?081.多線程:ThreadLocal指定初始值
?082.多線程:介紹鎖的可重入性
?083.多線程:Lock顯示鎖的基本使用1
?084.多線程:Lock顯示鎖的基本使用2
?085.多線程:ReentrantLock鎖的可重入性
?086.多線程:lockInterruptibly方法的使用
?087.多線程:lockInterruptibly方法可以解決死鎖問題(上)
?088.多線程:lockInterruptibly方法可以解決死鎖問題(下)
?089.多線程:tryLock() 方法的基本使用1
?090.多線程:tryLock() 方法的基本使用2
?091.多線程:tryLock()方法可以避免死鎖
?092.多線程:Condition實現(xiàn)等待與通知
?093.多線程:使用多個Condition實現(xiàn)通知部分線程
?094.多線程:Condition實現(xiàn)兩個線程交替打印
?095.多線程:Condition實現(xiàn)多對多的生產(chǎn)者與消費者模式
?096.多線程:公平鎖與非公平鎖
?097.多線程:getHoldCount方法
?098.多線程:getQueueLength返回等待鎖的線程數(shù)
?099.多線程:getWaitQueueLength返回在Condition條件上等待的線程預估數(shù)
?100.多線程:hasQueuedThread查詢指定的線程是否在等待獲得鎖
?101.多線程:hasWaiters查詢是否有線程正在等待指定以Condition條件
?102.多線程:isHeldByCurrentThread判斷鎖是否被當前線程持有
?103.多線程:isLocked()判斷鎖是否被線程持有
?104.多線程:讀寫鎖概述
?105.多線程:讀寫鎖的基本使用
?106.多線程:讀讀共享
?107.多線程:寫寫互斥
?108.多線程:讀寫互斥
?109.多線程:線程組概述
?110.多線程:創(chuàng)建線程組
?111.多線程:線程組的基本操作
?112.多線程:復制線程組中的內(nèi)容
?113.多線程:批量中斷線程組中的線程
?114.多線程:設置守護線程組
?115.多線程:捕獲線程的運行異常
?116.多線程:設置線程異常的回調(diào)接口
?117.多線程:注入Hook鉤子線程
?118.多線程:什么是線程池
?119.多線程:JDK提供與線程池相關(guān)的API
?120.多線程:線程池的基本使用
?121.多線程:線程池的計劃任務
?122.多線程:核心線程池的底層實現(xiàn)-1
?123.多線程:核心線程池的底層實現(xiàn)-2
?124.多線程:核心線程池的底層實現(xiàn)-3
?125.多線程:線程池的拒絕策略
?126.多線程:ThreadFactory線程工廠
?127.多線程:監(jiān)控線程池(超時了)
?128.多線程:擴展線程池1
?129.多線程:擴展線程池2
?130.多線程:優(yōu)化線程池大小
?131.多線程:線程池死鎖
?132.多線程:線程池中的異常跟蹤1
?133.多線程:線程池中的異常跟蹤2
?134.多線程:ForkJoinPool線程池1
?135.多線程:ForkJoinPool線程池2
?136.多線程:ForkJoinPool線程池3
?137.多線程:保障線程安全設計技術(shù)之局部變量
?138.多線程:保障線程安全設計技術(shù)之無狀態(tài)對象
?139.多線程:保障線程安全設計技術(shù)之不可變對象
?140.多線程:保障線程安全設計技術(shù)之線程特有對象
?141.多線程:保障線程安全設計技術(shù)之裝飾器模式
?142.多線程:提高鎖性能的建議之減少鎖的持有時間
?143.多線程:提高鎖性能的建議之減小鎖粒度
?144.多線程:提高鎖性能的建議之使用讀寫鎖代替獨占鎖
?145.多線程:提高鎖性能的建議之鎖分離
?146.多線程:提高鎖性能的建議之鎖粗化
?147.多線程:JVM對鎖的優(yōu)化之鎖偏向
?148.多線程:JVM對鎖的優(yōu)化之輕量級鎖
