JUC:Java.util.Concurrent
線程:
單個進程中執(zhí)行中每個任務(wù)就是一個線程。線程是進程中執(zhí)行運算的最小單位洒扎。
鎖的分類:
1.顯式鎖/隱式鎖 ReentrantLock / Synchronized
2.獨占鎖/共享鎖? 寫鎖 / 讀鎖
3.單機鎖/分布式鎖 lock(synchronized) / redis
創(chuàng)建線程:
1.new Thread
2.Runable
3.Callable 返回值
4.Executors
線程狀態(tài):
1.新建? new
2.就緒 start
3.運行 run
4.阻塞 wait
5.停止 sleep
6.停止 stop
線程通訊:
可以認為是線程同步的擴展,因為wait/notify必須獲取了對象鎖才能使用鼓拧,通過wait/notify這種方式實現(xiàn)兩個線程的等待喚醒掘托。
1.wait / notily
2.Condition
3.volatile
4.CountDownLatch
5.LockSupport
線程互斥:
對臨界區(qū)的共享數(shù)據(jù),兩個線程都有修改情況逗物,如果沒有加鎖或cas等的操作會造成數(shù)據(jù)混亂異常,這種就是線程互斥瑟俭。