執行緒的歷史是非同步對於cpu效能壓榨的歷史。
多程序批處理
多程序並行處理
多執行緒纖程/協程
程序執行緒
底層角度
繼承thread,重寫run方法。
實現runnable介面,重寫run方法。
使用lambda(第二種方法的變形)。
使用執行緒池啟動執行緒(本質也是前兩種方式之一)。
狀態是由jvm管理,管理這些狀態時要通過作業系統。
runnable狀態
timedwaiting狀態
waiting狀態
blocked狀態
terminated狀態
鎖的概念
鎖的特性
程式在執行過程中,如果出現異常,預設情況鎖會被釋放,因此要非常小心的處理同步業務邏輯中的異常。
多執行緒,高併發初步(一 執行緒的建立方式)
常見的兩種執行緒建立方式 繼承thread類和實現runnable介面 具體例子 這裡說明一點比較常用繼承來實現介面,以為比較簡單化。package test import org.junit.test public class testthread catch interruptedexcepti...
多執行緒與高併發 一
建立乙個執行緒的兩種方式 繼承threadclass mythread extends thread newmythread start 實現runnable介面class mythread implements runnable newthread new myrun start 面試時候有時候會...
多執行緒與高併發(一)
官方概念 幾乎所有的作業系統都支援同時執行多個任務,乙個任務通常是乙個程式,每個執行中的程式就是乙個程序。當乙個程式執行時,內部可能包含了多個順序執行流,每個順序執行流就是乙個執行緒。而執行緒呢,乙個程序裡最小的執行單元就叫乙個執行緒。簡單理解就是乙個程式不同的執行路徑。示例 public clas...