1. 程式人生 > >Java基礎進階Day07

Java基礎進階Day07

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->語句體