目次
- レポート課題
- 並列プログラミング
- 並列プログラミング
- 並列と並行
- 複数プログラムの同時実行
- 複数プログラムが動かないシステム
- 並列プログラミングの難しさ
- 並列プログラミングの嬉しいところ
- 簡単な並列プログラミング
- 8-Queen
- 8-Queenプログラム例
- 8-Queenの実行
- 実行結果
- 8-Queenの実行 (サーバ)
- 8-Queenの実行 (クライアント)
- インタフェースと並列プログラミング
- プリエンティティブと非プリエンティティブ
- プロセスとスレッド
- プロセス
- スレッド
- スレッドライブラリ
- コルーチン
- コルーチン利用例
- プロセスの同期の必要性
- 計算が失敗する例
- プログラム実行結果
- 危険な領域 (Critical Section)
- 修正したもの
- 修正したものの実行
- 同期が必要な場合
- 有名な同期問題
- 哲学者の食事問題
- 発生する可能性のある問題
- ソフトウェアによる同期プリミティブサポート
- ハードウェアによる同期サポート
- プロセスの待ち方
- 同期基本命令
- mutex
- セマフォ
- セマフォの構造
- セマフォの特徴
- モニタ
- モニタの例 (Ruby)
- CSP
- 並列処理言語
- 一般言語+並列化
- プロセス間通信
- 同期と通信の一体化
- Linda
- Linda
- Rinda
- Rindaによるプログラミング
- 並列プログラミングと他パラダイム
- まとめ
- 参考文献
- End