Parallel プログラミング
in .NET Framework 4.0
- 著者 北山 洋幸
- 判型 B5変型, 280頁, CD-ROM付属
- 本体価格 3,800円
- ISBN 978-4-87783-248-3
本書について
本書は.NET Frameworkを使用した並列プログラミングの入門書です。タスク並列化やデータ並列化、およびPLINQなどについて順を追って解説します。タスク並列化は、従来から存在したスレッドを整理した考えです。データ並列化は、これまでのC#には存在しておらず、OpenMPに近い手法を.NET Frameworkへ適合させたものです。もっとも、実際の動作はかなり異なるため、OpenMP習得者にも一読の価値はあると思います。表面的にはOpenMPと大きな違いはなく、すでにOpenMPを習得済みのエンジニアなら容易に理解できるでしょう。PLINQは、クエリ(LINQ)を使いこなしている開発者なら、その並列版と考えてください。LINQを使用したことのないエンジニアは、この機会にLINQとPLINQを習得するのもよいでしょう。以上の集大成として、最後の章で、画像と音響処理をTPLで並列処理するプログラムを開発します。
対象読者
・ .NET Framework並列プログラミング入門者
・ 抽象化言語の並列化を知りたい方
・ C#でメニーコアCPUを有効活用したい方
目 次
- 第1章 .NET Framework並列プログラミング概論
- 1-1 並列化概念
- 1-2 並列化で高性能化される部分とされない部分
- 1-3 逐次処理と並列処理
- 1-4 並列化の限界
- 1-5 はじめての.NET Frameworkの並列処理プログラム
- 1-6 2つの配列を加算
- 1-7 タスク並列化プログラム
- 第2章 データの並列化(Data Parallelism:Task Parallel Library)
- 2-1 (Task Parallel Library)概論
- 2-2 単純なループ
- 2-3 ラムダ式とデリゲート
- 2-4 ラムダ式
- 2-5 ループからの脱出
- 2-6 スレッドローカル変数
- 2-7 ループの取り消し
- 2-8 小さなループの実行速度の改善
- 第3章 タスク並列化(Task Parallelism : Task Parallel Library)
- 3-1 単純なタスク
- 3-2 暗黙的な起動と明示的な起動
- 3-3 配列タスクと返却値アクセス
- 3-4 タスク生成オプション
- 3-5 タスク継続
- 3-6 入れ子タスクと子タスク
- 3-7 タスクの待機
- 第4章 データ共有
- 4-1 単純なデータ競合例
- 4-2 Interlockedクラスで同期
- 4-3 他の同期方法
- 4-4 同期機構で並列化できない場合
- 4-5 コンカレントコレクション
- 第5章 PLINQ(Parallel LINQ)
- 5-1 単純なクエリ例
- 5-2 順序維持
- 5-3 実行モードの指定
- 5-4 並列数の指定
- 第6章 応用
- 6-1 単純なループ
- 6-2 TPLによる画像処理
- 6-3 Forメソッドを使用したモノクローム変換
- 6-4 Taskメソッドを使用してモノクローム変換
- 6-5 画像の回転
- 6-6 サウンド(カラオケ化)