1. 程式人生 > >Java 併發程式設計之詳解工具類 CountDownLatch

Java 併發程式設計之詳解工具類 CountDownLatch

CountDownLatch是一個在java1.5被引入同步工具類,它允許一個或多個執行緒一直等待,直到其他執行緒的操作執行完後再執行。countdownlatch在Java開發中應用場景及其廣泛,同時也是面試中的高頻考點。每一個Java程式設計師都應該熟練掌握,在本篇文章中,我將會從以下幾方面對其進行詳細講解:

一、根據原始碼刨析CountDownLatch工作原理

  1. 實現原理
  2. 原始碼解析2.1、CountDownLatch內部類Sync2.2、CountDownLatch(n)構造器2.3、countDownLatch.await()方法2.4、 countDownLatch.countDown()方法

二、CountDownLatch的應用例項

  1. 實現最大的並行性(馬拉松比賽同時出發)
  2. 開始執行前等待其它執行緒完成各自任務(開董事會等待所有董事到達)
  3. 死鎖檢測(檢測死迴圈)

三、CountDownLatch常見的面試題

  1. 介紹一下CountDownLatch工作原理?
  2. CountDownLatch 和CyclicBarrier的區別?
  3. CountDownLatch的使用場景?
  4. CountDownLatch 類中主要的方法?

閱讀全文: http://gitbook.cn/gitchat/activity/5c1a0ca100ef4636973b240b

一場場看太麻煩?成為 GitChat 會員,暢享 1000+ 場 Chat !

點選檢視