C++ 多執行緒與並行程式設計基礎

C++ 多執行緒與並行程式設計基礎

現代的軟體設計為了能完整利用到硬體多核心的運算能力,善用多執行緒與並行程式設計成為一個常見而重要的技術。在這門課裡我們將使用 C++ 標準庫 (C++ Standard Library) 內提供的各式工具來實踐一些經典的範例,同時也可從過程中了解多執行緒與並行程式設計的核心概念與理論。即使我們使用的是其他第三方的工具,也可以對於所需解決的問題以及可行的方式有所方向。我們將從無到有幫助大家一起建立所有相關需要的知識。

課程大綱

第一章:C++ 並行程式設計課程簡介
第二章:執行緒的管理
第三章:於執行緒間共享資料
第四章:在不同的並行操作間同步
第五章:C++ 的記憶體模型與原子操作
第六章:撰寫 C++ 並行程式

適合對象

對多執行緒或並行程式設計有興趣者

開發環境

我們將使用線上的 Coliru (https://coliru.stacked-crooked.com/) 網站示範
但只要支援 C++17 的編譯器,都可以使用課程中所有的範例

近期班次

講師介紹

(一) 學歷

國立臺灣大學資訊工程學博士學位

國立臺灣大學資訊工程學碩士學位

國立臺灣大學資訊工程學學士學位

(二) 經歷

1.雷亞遊戲技術總監

參與《聚爆 (Implosion)》開發與負責《伊甸之魂 (Soul of Eden)》的主程式

2.長期從事程式教育

有十五年以上課堂教學經驗,開設過百次以上程式設計和網站實作課程

於本訓練班授課時數累計至2022年11月17日為3991小時

3.自由接案者

有二十五年以上程式設計及二十年以上網站接案經驗,參與過數十個專案開發

4.經營 Youtube 頻道

https://www.youtube.com/c/KenYiLee

(三) 相關榮譽

國立臺灣大學資訊工程系優良助教獎

國立臺灣大學書卷獎

全國高中資訊能力競試決賽入選

(四) 專長

程式語言: C, C++, C#, Java, Python, PHP, JavaScript, Golang, Perl, Lua 等

開發框架: .Net framework, Laravel, Qt, jQuery, React, OpenCV, Tensorflow

網頁技術: HTML5, CSS3, SQL, Flash 等

遊戲開發引擎: Unity