java併發包&執行緒池原理分析&鎖的深度化
阿新 • • 發佈:2018-12-13
將不安全的map集合轉成安全集合
HashMap HashMap = new HashMap<>();
Collections.synchronizedMap(HashMap);
concurrentHasMap 開發推薦使用這種map———執行緒安全且效率高
CountDownLatch
public class Test002 { public static void main(String[] args) throws InterruptedException { CountDownLatch countDownLatch = new CountDownLatch(1); new Thread(new Runnable() { public void run() { System.out.println("我是子執行緒開始執行任務......"); try { //子執行緒正在處理事情 Thread.sleep(10); } catch (Exception e) { // TODO: handle exception } countDownLatch.countDown();//每次減1 System.out.println("我是子執行緒開始執行任務......"); } }).start();; new Thread(new Runnable() { public void run() { System.out.println("我是子執行緒開始執行任務......"); try { //子執行緒正在處理事情 Thread.sleep(10); } catch (Exception e) { // TODO: handle exception } countDownLatch.countDown();//每次減1 System.out.println("我是子執行緒開始執行任務......"); } }).start();; countDownLatch.await();//如果不為0的時候,一致等待 System.out.println("主執行緒開始執行任務"); for (int i = 0; i < 10; i++) { System.out.println("main i:"+i); } } }