Java基礎進階Day07
阿新 • • 發佈:2018-12-22
Java基礎進階Day07
課程大綱
1、執行緒通訊 -------------------------> 重點 (等待喚醒機制)
2、執行緒池 ---------------------------> 理解 (建立基礎執行緒池)
3、Lambda表示式 ---------------------> 重點 (表示式書寫格式)
第一章 執行緒通訊
1、等待與喚醒方法
A.等待: Object 當中的方法 wait()
B.喚醒: Object 當中的方法 notify() notifyAll()
2、生產者和消費者
A.程式碼結構:
run() - while(true) -> synchronized(鎖) -> if wait -> 改變bian ->notify
B.記憶順序:
RWSFWBN "讓王師傅我幫你"
第二章 執行緒池
1、執行緒的含義
一個容納多個執行緒的容器,提前建立好的,可以從容器中取出,使用完畢歸還
舉例: 共享單車
2、執行緒池優點
A.資源消耗降低
B.響應速度變快
C.管理執行緒容易
3、執行緒池操作步驟
A. ExecutorService service = Executors.newFixedThreadPool (2); //建立執行緒池物件。
B. MyRunnable r = new MyRunnable(); //建立Runnable介面子類物件。(task)
C. service.submit(r); //提交Runnable介面子類物件。(take task)
D. service.shutdown(); //關閉執行緒池(一般不做)。
第三章 Lambda表示式
1. 【標準格式】
(Type1 param1,Type2 param2)->{return 語句體;}
2.【簡化格式】
編譯器都可以推斷出lambda表示式的引數型別,所以引數型別可以省略
( param1,param2)->{return 語句體;}
3.【省略小括號】
當lambda表示式的引數個數只有一個,可以省略小括號:
param->{return 語句體;}
4.【省略大括號】
當lambda表示式只包含一條語句時,可以省略大括號、return和語句結尾的分號;
param->語句體