Pthreadsプログラミング

この商品は品切れ再入荷未定です

内容

これまで、UNIXでのマルチスレッドに対応したライブラリやAPIの実装は、ベンダーごとにまちまちで、プログラミング方法も統一されていませんでした。現在は、POSIXがPthreadsとして規定したライブラリが、業界標準として普及しています。本書は、このPthreadsライブラリを使ったマルチスレッドプログラムの設計、プログラミング、デバッグを、銀行のATMマシンの例題プログラムを設計、開発しながら解説します。

目次

訳者まえがき
まえがき

1章 なぜマルチスレッドなのか?
    1.1 Pthreadsとは何か?
    1.2 並列可能性
    1.3 並行プログラミング環境における並列可能性の記述
    1.4 並列プログラミングと並行プログラミング
    1.5 同期
    1.6 私は誰? あなたは誰?
    1.7 スレッドの実行の終了
    1.8 なぜプロセスではなくスレッドを使うのか?
    1.9 構造化プログラミング環境
    1.10 スレッド化するアプリケーションの選択

2章 マルチスレッドプログラムの設計
    2.1 マルチスレッド化に適したタスク
    2.2 モデル
    2.3 スレッド間のデータのバッファリング
    2.4 一般的な問題
    2.5 パフォーマンス
    2.6 例:ATMサーバ
    2.7 例:行列乗算プログラム

3章 Pthreadsの同期
    3.1 適切な同期ツールの選択
    3.2 mutex変数
    3.3 状態変数
    3.4 リーダー/ライターロック
    3.5 ATMサーバの同期
    3.6 スレッドプール

4章 Pthreadsの管理
    4.1 スレッド属性の設定
    4.2 pthread_once機構
    4.3 キー:スレッド固有のデータの使用
    4.4 キャンセレーション
    4.5 Pthreadsのスケジューリング
    4.6 mutexのスケジューリング属性

5章 PthreadsとUNIX
    5.1 スレッドとシグナル
    5.2 スレッドセーフなライブラリ関数とシステムコール
    5.3 キャンセレーションセーフなライブラリ関数とシステムコール
    5.4 スレッドをブロックするライブラリ関数とシステムコール
    5.5 スレッドとプロセスの管理
    5.6 マルチプロセッサシステムのメモリ同期

6章 実践的な考察
    6.1 Pthreadsの実装を理解する
    6.2 デバッグ
    6.3 パフォーマンス
    6.4 まとめ

付録A PthreadsとDCE
    A.1 DCEサーバの構造
    A.2 DCEプログラマが行わなければならないこと
    A.3 例:DCEサーバとしてのATMサーバ
付録B Pthreads Draft 4と最終規格
    B.1 スレッドのデタッチ
    B.2 mutex変数
    B.3 状態変数
    B.4 スレッド属性
    B.5 pthread_once関数
    B.6 キー
    B.7 キャンセレーション
    B.8 スケジューリング
    B.9 シグナル
    B.10 スレッドセーフなシステムインタフェース
    B.11 エラーレポート
    B.12 システムインタフェースとキャンセレーションセーフ
    B.13 プロセスブロッキングコール
    B.14 プロセス管理
付録C Pthreadsクイックリファレンス
索引

正誤表