id:faith_and_braveさんとこ経由で知った、C++11並行プログラミングのビデオチュートリアル集。コーディング&動作を示しながら解説が進むため、順を追って理解しやすい。(英語スピーキング速度もゆっくり目)
C++11 Concurrency Series
- Part 1: Fork/Join(30分)
- マルチスレッドアプリケーションの書き方、fork/join並列、非決定的動作について
- Part 2: Passing Arguments to Threads(20分)
- ムーブ・セマンティクス、rvalue reference、スレッドへの引数渡しについて
- Part 3: Sharing Data Between Threads(20分)
- スレッド間のデータ共有、データ競合、同期点、happens-before関係、ユニークオブジェクトについて
- Part 4: Futures and Promises(20分)
- futureとpromiseを使った別スレッドからの値返却、タスクを生成するasync関数について
- Part 5: Tasks(30分)
- タスクベース並列について
- Part 6: MapReduce(20分)
- Part 7: Mutexes, Locks, and Monitors(20分)
- ロックで保護された共有データ構造へのアクセスについて
- Part 8: Data Races(20分)
- スレッドへの安全な初期引数の渡し方、段階的なモニターの最適化方法、並列バグの要因、バグの発見・改修方法について
- Part 9: Condition Variables(30分)
- メッセージキュー構築における条件変数の使い方、サーバスレッドの実装方法について