程序員必知的七種並發編程模型


1.線程與鎖
線程與鎖模型有很多眾所周知的不足,但仍是其他模型的技術基礎,也是很多並發軟件開發的首選。

2.函數式編程

函數式編程日漸重要的原因之一,是其對並發編程和並行編程提供了良好的支持。函數式編程消除了可變狀態,所以從根本上是線程安全的,而且易於並行執行。

 

3.Clojure之道——分離標識與狀態

編程語言Clojure是一種指令式編程和函數式編程的混搭方案,在兩種編程方式上取得了微妙的平衡來發揮兩者的優勢。

 

4.actor

actor模型是一種適用性很廣的並發編程模型,適用於共享內存模型和分布式內存模型,也適合解決地理分布型問題,能提供強大的容錯性。

 

5.通信順序進程(Communicating Sequential Processes,CSP)

表面上看,CSP模型與actor模型很相似,兩者都基於消息傳遞。不過CSP模型側重於傳遞信息的通道,而actor模型側重於通道兩端的實體,使用CSP模型的代碼會帶有明顯不同的風格。

 

6. 數據級並行

每個筆記本電腦里都藏着一台超級計算機——GPU。GPU利用了數據級並行,不僅可以快速進行圖像處理,也可以用於更廣闊的領域。如果要進行有限元分析、流體力學計算或其他的大量數字計算,GPU的性能將是不二選擇。

 

7.Lambda架構

大數據時代的到來離不開並行——現在我們只需要增加計算資源,就能具有處理TB級數據的能力。Lambda架構綜合了MapReduce和流式處理的特點,是一種可以處理多種大數據問題的架構。

注:文章轉載自網絡,如果您覺得本文對您有幫助,歡迎關注我的公眾號【Java技術zhai】,有新文章發布會第一時間通知您。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM