JDK7的平行計算功能升級
Phasers
比CyclicBarrier更靈活,CyclicBarrier讓所有執行緒在某個同步點原地踏步繞圈等待,可以控制多執行緒同時暫停等待,Phaser增強了CyclicBarrier幾個特點:
允許計數超過時間變化
Phases能夠計數並且執行緒能夠知道這個計數值。
CyclicBarrier只允許一個同步action被註冊, 而Phaser允許更加靈活動態的多個Action
終止 – 顯式支援中斷終止phase
多層phaser樹
據說Phaser將是Java日常並行程式設計最重要的常用語法。
比CyclicBarrier更靈活,CyclicBarrier讓所有執行緒在某個同步點原地踏步繞圈等待,可以控制多執行緒同時暫停等待,Phaser增強了CyclicBarrier幾個特點:
允許計數超過時間變化
Phases能夠計數並且執行緒能夠知道這個計數值。
CyclicBarrier只允許一個同步action被註冊, 而Phaser允許更加靈活動態的多個Action
終止 – 顯式支援中斷終止phase
多層phaser樹
據說Phaser將是Java日常並行程式設計最重要的常用語法。
TransferQueue
比SynchronousQueue 效能在不公平模式unfair提高3倍,是公平faire模式14倍。因為SynchronousQueue用在很多核心普用庫ThreadPoolExecutor中,所以Java 7提供的TransferQueue將大大提高所有使用ThreadPoolExecutor的程式效能。特別的是:當有新條目要被加入到佇列中時,呼叫transfer將確保佇列中所有條目被處理。Doug Lea成為capability-wise 容量智慧化。
SynchronousQueue是使用兩個佇列來實現Producer和Consumer, 用一個鎖保護這兩個佇列而LinkedTransferQueue使用非堵塞操作,避免序列化瓶頸。
Fork-join
提供了分而治之的平行計算模型,提供了大型資料集並行處理的方式。許多排序 過濾 搜尋演算法都能使用這個模型實現,有點類似小小Hadoop意思。
Fork-join已經成為其他並行語言 Scala, Clojure, Fortress, and Groovy (GPars) 重要語法。並且充分吸收了他們的優勢。
其他Java 7平行計算有特點功能API: Fences ConcurrentReferenceHashMap Concurrent LRU –ParallelArray
原文:JSR 166 Concurrency Updates Hit JDK 7
相關文章
- 平行計算π值
- springboot~CompletableFuture平行計算Spring Boot
- 瞭解Flow -- elixir的平行計算庫
- java8平行計算Java
- 平行計算與Neon簡介
- 後端請求中的非同步計算與平行計算後端非同步
- 大文字平行計算實現方式
- OpenCV使用ParallelLoopBody進行平行計算OpenCVParallelOOP
- [python] Python平行計算庫Joblib使用指北Python
- 【1】Embarrassingly Parallel(易平行計算問題)Parallel
- [930]python平行計算框架pathos模組Python框架
- 強大的Flutter App升級功能FlutterAPP
- HPC高效能運算知識: 異構平行計算
- 探秘資料庫中的平行計算技術應用資料庫
- 物聯網產品設計中的裝置升級功能
- PostgreSQL11preview-平行計算增強彙總SQLView
- Java併發基礎-Fork、Join方式的平行計算研究分析Java
- cuda程式設計與gpu平行計算(四):cuda程式設計模型程式設計GPU模型
- TDengine3.0計算查詢引擎的最佳化與升級
- Concurrent iHawk — 實時平行計算機模擬系統計算機
- 使用 QuTrunk+Amazon ParallelCluster3 進行平行計算Parallel
- 平行計算與並行程式設計課程內容介紹並行行程程式設計
- 面試官:說說你對Fork/Join的平行計算框架的瞭解?面試框架
- 計算機各部件的功能計算機
- 雲端計算如何推動園區建設智慧升級?
- [原始碼解析] PyTorch 流水線並行實現 (6)--平行計算原始碼PyTorch並行
- 【版本升級】PerfDog新增多維度測試報告對比功能、iOS電量測試功能升級測試報告iOS
- 專案的升級-給RemoveButterKnife外掛增加新功能REM
- 雲端計算中容器的功能
- 兩行程式碼輕鬆讓 Java 實現大文字平行計算行程Java
- 簡單幾行程式碼輕鬆實現大文字平行計算行程
- collection包1.1.0都升級了什麼功能
- QUIC 雙向認證、DDS 代理功能升級UI
- 可計算儲存技術全面升級CSD 3000儲存體驗
- 極速啟動,函式計算彈性降本能力再升級函式
- 我的風變程式設計“升級”之旅程式設計
- mysql的升級MySql
- 算力如何升級?天翼雲這麼幹!
- AYBO for Mac(多功能計算器)Mac