Java互聯網架構師系統進階課程 提娶馬:d17cmarkdown
什麼是分而治之?****架構
規模爲N的問題,N<閾值,直接解決,N>閾值,將N分解爲K個小規模子問題,子問題互相對立,與原問題形式相同,將子問題的解合併獲得原問題的解併發
動態規範cmL46679910工具
工做密取****oop
workStealingspa
Fork/Join使用的標準範式****線程
CountDownLatch****code
做用:是一組線程等待其餘的線程完成工做之後在執行,增強版joinorm
await用來等待,countDown負責計數器的減一圖片
CyclicBarrier****
讓一組線程達到某個屏障,被阻塞,一直到組內最後一個線程達到屏障時,屏障開放,全部被阻塞的線程會繼續運行CyclicBarrier(int parties)
CyclicBarrier(int parties, Runnable barrierAction),屏障開放,barrierAction定義的任務會執行
CountDownLatch和CyclicBarrier辨析
一、countdownlatch放行由第三者控制,CyclicBarrier放行由一組線程自己控制
二、countdownlatch放行條件》=線程數,CyclicBarrier放行條件=線程數
Semaphore****
控制同時訪問某個特定資源的線程數量,用在流量控制
Exchange****
兩個線程間的數據交換,
Callable、Future和FutureTask ****
isDone,結束,正常仍是異常結束,或者本身取消,返回true;
isCancelled 任務完成前被取消,返回true;
cancel(boolean):
一、 任務還沒開始,返回false
二、 任務已經啓動,cancel(true),中斷正在運行的任務,中斷成功,返回true,cancel(false),不會去中斷已經運行的任務
三、 任務已經結束,返回false
包含圖片和文字的文檔的處理:圖片(雲上),能夠用future去取圖片,主線程繼續解析文字。