Java 中的多執行緒與平行運算

Java + Fork-Join 與串流 API ( Stream API )、虛擬執行緒( Virtual Threads )中的多執行緒與併發( concurrent )程式設計、平行運算與 MapReduce

從這 14 小時的課程,你會學到

  • 理解基本的併發( concurrency )
  • 理解多執行緒處理( multithreading )的基礎知識
  • 理解平行處理( parallel processing )
  • 能夠在現實狀況中使用這些概念
  • 理解併發集合(  concurrent collections )
  • 了解同步( synchronization )和鎖定( locking )
  • 了解 Fork-Join 框架
  • 了解串流 API ( Stream API )

要求

基本 Java (繼承、物件導向程式設計)

課程說明

歡迎開啟 Java 多執行緒、併發( concurrency )和平行處理( parallel processing )之旅 – 這些技能在當今的高效能運算時代至關重要!

在大數據、機器學習和多核心處理器時代,了解如何編寫高效能、執行緒安全且可擴展的應用程式比以往任何時候都更加重要。無論您建立的是即時系統、後端服務還是分散式應用程式,本課程都將為您提供並發思考所需的工具和思維方式。

我們將從基礎知識開始 – 什麼是執行緒、它們如何運作以及如何管理它們——然後逐步深入高階主題,例如平行演算法(  parallel algorithms )、Fork-Join 框架,以及 Java Project Loom 中引入的虛擬執行緒等前緣功能。

在整個課程中,您將實現真實世界的模擬(例如經典的「哲學家用餐」和「圖書館學生」問題),獲得實踐經驗,並學習如何像專業人士一樣利用 Java 的並發庫。

第一部分: 執行緒理論

  • 多執行緒背後的理論
  • 多執行緒的優缺點
  • 生命週期的執行緒

第二部分: 執行緒操作

  • 啟動執行緒(可運行介面和 Thread classes )
  • 加入關鍵詞
  • 背景執行序( daemon threads )

第三部分: 執行緒間通訊

  • 執行緒的記憶體管理
  • 同步和同步區塊
  • 等待並通知
  • 生產者消費者問題及解決方案
  • 併發集合(  concurrent collections )
  • 插銷、循環屏障和阻塞佇列
  • 延遲佇列、優先佇列和並發映射

第四部分: 多執行緒觀念

  • volatile 關鍵字( 出某個欄位可能是由同時執行的多個執行緒所修改 )
  • 死鎖和活鎖
  • 信號量和互斥量
  • 用餐哲學家問題
  • library( 程式庫 )應用

第五部分: 執行者和執行者服務( ExecutorServices )

  • 執行者( executors )
  • 執行者服務( executor services )

第六部分: 併發集合(  concurrent collections )

  • 與集合同步
  • 插銷( latches )
  • 循環障礙
  • 延遲和優先佇列( priority queues )
  • 併發雜湊圖( HashMaps )
  • CopyOnWriteArrayLists

第七部分: 模擬

  • 用餐哲學家問題
  • Library 問題

第八部分: 平行演算法

  • 什麼是平行運算
  • 平行歸併排序
  • 平行演算法

第九部分: Fork-Join 框架

  • Fork-Join 框架
  • 以平行方式求最大值

第十部分: 串流 API

  • 串流 API 用例解釋
  • 順序串流和平行串流

第十一部分: 虛擬執行緒

  • 平台線程和虛擬執行緒的
  • 了解虛擬執行緒的創建和操作
  • StructuredTaskScope 和子任務
  • 劃界延續

為什麼要參加本課程?

學習實用的動手技能,建立健壯的並發 Java 應用程式
掌握最新的 Java 特性,包括虛擬線程
提升設計線程安全和可擴展程式碼的能力
建構真實的模擬環境,立即學以致用

無論您是並發初學者還是正在加深學習的人士,本課程都將挑戰並幫助您以不同的方式思考表現和可擴展性。

立即加入,解鎖 Java 現代多執行緒程式設計的強大功能!
讓我們深入研究,編寫真正可擴展的程式碼。

目標受眾

本課程適用於希望掌握 java 多執行緒或想快速復習這方面知識的學生

講師簡介

Holczer Balazs 軟體工程師

我叫 Balazs Holczer。 我來自匈牙利布達佩斯。 我有物理學家資格,且一直是。 目前我在一家跨國公司擔任模擬工程師。 自從大學以來,我一直對演算法和資料結構以及它的實現感興趣,特別是在 Java 中。 後來我熟悉了機器學習技術、人工智慧、數值方法和配方,如求解微分方程、線性代數、內插( interpolation )和外差( extrapolation )。 這些事情可能在幾個領域被證明是非常重要的:軟體工程、研究與開發或投資銀行。 對於 Black-Scholes 模型或 Merton 模型等定量模型,我有特別喜愛。

歡迎參觀我的網站並訂閱,如果你對這些話題感興趣!

英文字幕:有

  • 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To

  • Udemy 永久擁有課程 許多課程約 NT400(點擊連結看更多)
  • 年訂閱每月 NT350(再享特別優惠:年度訂閱首年享 25% 折扣) 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
  • Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
  • 手機上點選優惠連結看到的價格比電腦上看到的貴
  • $代表當地貨幣, 如在台灣為 NT
  • 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現

報名參加課程

Sponsored by Udemy


也許你會有興趣

不受 FB 演算法影響,歡迎透過 e-mail 訂閱網站更新

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

由 WordPress.com 建置.

Up ↑

探索更多來自 Soft & Share 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading