Win32/C++ マルチスレッドプログラミング詳説

[cover photo]
  • 1999年03月 発行
  • 792ページ
  • ISBN4-90090-069-9
  • 原書: Win32 Multithreaded Programming
  • フォーマット

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

本書は、ミューテックスやセマフォを利用した基本的なスレッド同期から、高度な応用までを網羅した、マルチスレッドプログラミングの本質を理解する上で必読の書です。独自のクラスライブラリを構築し、それらを用いた実戦的なプログラム例を多数紹介しています。本書で使用したクラスライブラリ等はダウンロードで入手可能です。

監訳者まえがき
まえがき

1章 はじめに
        1.1 マルチスレッドプログラミングとは何か
        1.2 なぜマルチスレッドプログラムを書く(スレッドを使用する)のか
        1.3 スレッドを使用すべきでない場合
        1.4 マルチスレッドプログラミングへの移行

2章 スレッドのスケジューリングと基本概念
        2.1 スレッドのスケジューリング
        2.2 マルチスレッドプログラミングの概念

3章 プロセスとスレッドAPI
        3.1 カーネルオブジェクト
        3.2 プロセス
        3.3 スレッドのメカニズム
        3.4 プロセスの生存期間の問題に立ち戻る

4章 スレッド同期ツール
        4.1 インターロックされた関数
        4.2 クリティカルセクション
        4.3 WaitForSingleObjectとWaitForMultipleObjects
        4.4 ミューテックス
        4.5 セマフォ
        4.6 イベント

5章 スレッド間通信
        5.1 共有メモリとメモリマップファイル
        5.2  匿名パイプ
        5.3 スレッドとメッセージ処理
        5.4 MsgWaitForMultipleObjects

6章 Mcl:マルチスレッドプログラミング用C++クラスライブラリ
        6.1 CMclライブラリクラスの階層
        6.2 CMclクラスライブラリの実装

7章 Mcl:高レベルクラス
        7.1 CMclSharedMemory
        7.2 CMclLinkedList
        7.3 CMclMailbox
        7.4 CMclMonitor
        7.5 CMclクラスライブラリのためのmakefile

8章 基本スレッド同期
        8.1 リソースの相互排除
        8.2 単一入場ゲート
        8.3 警告可能待機
        8.4 限定されたリソースに対する競合
        8.5 生産者と消費者のバリエーション

9章 高度なカプセル化技術
        9.1 オブジェクトとスレッドの同期
        9.2 スレッド局所記憶

10章 上級スレッド管理技術
        10.1 オンデマンドスレッド
        10.2 スレッドプール

11章 マルチスレッドプログラムにおけるDLL
        11.1 32ビットDLLの解剖学的構造と意味論
        11.2 DllMain関数
        11.3 関数とデータのエクスポート
        11.4 関数とデータのインポート
        11.5 思慮深いDLLの実装
        11.6 DLL内の静的およびグローバルC++オブジェクト

12章 マルチスレッドユーザインタフェースとMFC
        12.1 Win32 ウィンドウシステムの基礎
        12.2 マルチスレッドプログラムとユーザインタフェース
        12.3 なぜMFCを使用するか
        12.4 マルチスレッドプログラムにおけるMFCの使用
        12.5 MFCプログラムにおけるMclの使用
        12.6 Mcl4Mfcクラスライブラリ

13章 マルチスレッドGUIの基本設計
        13.1 3つの基本的デザインパターン
        13.2 自律アニメーションコントロール
        13.3 食事をする哲学者の問題のアニメートされたシミュレーション
        13.4 自律的なダイアログボックス

14章 構造化例外処理
        14.1 構造化例外処理の概要
        14.2 構造化例外処理の一般的使用
        14.3 例外処理の戦略
        14.4 C++と構造化例外処理の併用

15章 マルチスレッドプログラムのデバッグ
        15.1 並行思考
        15.2 “HeisenBUG”の不確定性原理
        15.3 コードの段階的実行
        15.4 Visual C++のスレッドおよびコールスタックウィンドウの使用
        15.5 どれがプライマリスレッドか?
        15.6 どのスレッドをデバッグしているのかを知る
        15.7 段階的実行の間のコンテキストスイッチを警戒する
        15.8 時間はデバッガで静止していない
        15.9 どのスレッドがどのウィンドウを所有するのかを知る
        15.10 OutputDebugStringの使用
        15.11 メモリを抹消する

あとがき
付 録
付録A Mcl C++クラスライブラリリファレンス
付録B Mcl4Mfc C++クラスライブラリリファレンス
索 引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]