Contents
Java 中的多執行緒與併發(concurrent)程式設計、平行運算與 MapReduce
從這 10.5 小時的課程,你會學到
- 理解基本的併發( concurrency )
- 理解多執行緒處理( multithreading )的基礎知識
- 理解平行處理( parallel processing )
- 能夠在現實狀況中使用這些概念
- 理解並發集合
- 了解同步和鎖定
- 了解 Fork-Join 框架
- 了解串流 API
要求
基本 Java (繼承、物件導向程式設計)
課程說明
本課程是關於多執行緒和併發程式設計的基礎知識和一些平行計算的概念。 在 21 世紀,隨著大數據( Big Data )和機器學習( Machine Learning )的出現,這個話題變得越來越流行。
我們將考慮執行緒( threads )、同步( synchronization )和鎖( locks )等底層概念。
接著我們將介紹並行程式庫( concurrent library ): 當然,在實現多執行緒應用程式時,我們可以使用內建的類別( classes )和介面( interfaces )。
然後我們將開發一些小程式作為多執行緒的展示案例 : 用餐-哲學家問題或圖書館內的學生模擬。 最後是關於平行計算和 MapReduce。
第一部分: 執行緒理論
- 多執行緒背後的理論
- 多執行緒的優缺點
- 生命週期的執行緒
第二部分: 執行緒操作
- 啟動執行緒(可運行介面和 Thread classes )
- 加入關鍵詞
- 背景執行序( daemon threads )
第三部分: 執行緒間通訊
- 執行緒的記憶體管理
- 同步和同步區塊
- 鎖
- 等待並通知
- 生產者消費者問題及解決方案
- 並發集合
- 插銷、循環屏障和阻塞佇列
- 延遲佇列、優先佇列和並發映射
第四部分: 多執行緒觀念
- volatile 關鍵字( 出某個欄位可能是由同時執行的多個執行緒所修改 )
- 死鎖和活鎖
- 信號量和互斥量
- 用餐哲學家問題
- library( 程式庫 )應用
第五部分: 執行者和執行者服務( ExecutorServices )
- executors
- executor services
第六部分: 並發集合
- 與集合同步
- 插銷
- 循環障礙
- 延遲和優先佇列
- 並發雜湊圖
- CopyOnWriteArrayLists
第七部分: 模擬
- 用餐哲學家問題
- Library 問題
第八部分: 平行演算法
- 什麼是平行運算
- 並行歸併排序
- 平行演算法
第九部分: Fork-Join 框架
- Fork-Join 框架
- 以平行方式求最大值
第十部分: 串流API
- 串流 API 用例解釋
- 順序串流和平行串流
第十一部分: BigData 與 MapReduce
- 什麼是 MapReduce
- MapReduce 和 Fork-Join 框架
謝謝你參加我的課程,讓我們開始吧!
目標受眾
本課程適用於希望掌握 java 多執行緒或想快速復習這方面知識的學生
講師簡介
Holczer Balazs 軟體工程師
我叫 Balazs Holczer。 我來自匈牙利布達佩斯。 我有物理學家資格,且一直是。 目前我在一家跨國公司擔任模擬工程師。 自從大學以來,我一直對演算法和資料結構以及它的實現感興趣,特別是在 Java 中。 後來我熟悉了機器學習技術、人工智慧、數值方法和配方,如求解微分方程、線性代數、內插( interpolation )和外差( extrapolation )。 這些事情可能在幾個領域被證明是非常重要的:軟體工程、研究與開發或投資銀行。 對於 Black-Scholes 模型或 Merton 模型等定量模型,我有特別喜愛。
歡迎參觀我的網站並訂閱,如果你對這些話題感興趣!
英文字幕:有
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- 點選這個✨優惠連結✨ 課程特價 | Udemy 永久擁有課程 NT330 起( 在電腦瀏覽器登入,點選“優惠連結”後再回想要的課程介紹中點選“報名參加課程”即可取得 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程
也許你會有興趣
- Java 程式設計學習地圖
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
- 從 Soft & Share 各種社團頻道挑選你喜歡的加入