RISC-V MCU應用教程之GPIO操作
阿新 • • 發佈:2022-03-16
1.什麼是JUC
java.util 工具包 包、類
業務:普通的執行緒程式碼 Thread
Runnable 沒有返回值,效率相對callable要低
2.執行緒和程序
程序:一個程式。 (qq.exe,music,程式的集合)
一個程序往往包含多個執行緒,至少包含一個
java預設有幾個執行緒?2個: main、GC
執行緒:開了一個程序typora,寫字,自動儲存(執行緒負責的)
對於java而言:Thread、Runnable、callable
java真的可以開啟執行緒嗎 開不了 它只是用本地方法嗎,呼叫底層的C++,java無法直接操作硬體
併發程式設計:併發、並行
併發(多執行緒操作同一個資源)
- CPU一核,模擬多條執行緒,快速交替
並行(多個人一起行走)
- CPU多核,多個執行緒可以同時執行
併發程式設計的本質:充分利用CPU的資源
執行緒有幾個狀態
public enum State {
//新生
NEW,
//執行
RUNNABLE,
//阻塞
BLOCKED,
//等待,死死地等
WAITING,
//超時等待
TIMED_WAITING,
//終止
TERMINATED;
}
wait\sleep 區別
-
來自不同的類
wait==》object
sleep==>Thread
-
關於鎖的釋放
wait會釋放鎖。sleep睡覺了,抱著鎖睡覺,不會釋放!
-
使用範圍不同
wait:必須在同步程式碼塊中
sleep:可以在任何地方睡
-
是否需要捕獲異常
wait不需要捕獲異常
sleep必須捕獲異常