Javaスレッドプログラミング

[cover photo]
TOPICS
発行年月日
PRINT LENGTH
276
ISBN
4-90090-054-0
原書
Java Threads
FORMAT
Print
3,740円
この商品は品切れ再入荷未定です

本書は、Javaで本格的な開発に従事するプログラマを対象に、Java環境におけるスレッドプログラミングのノウハウを基礎から応用まで具体例を網羅しながら徹底的にガイドします。Javaプログラミングで重要なスレッド プログラミングを完全に習得し、Javaの能力を最大限に活かしたいプログラマ必見の一冊です。

目次

はじめに
1章      スレッド入門
        1.1     Java の用語
        1.2     スレッドの概要
                1.2.1   マルチタスクの概要
                1.2.2   マルチスレッドの概要
        1.3     なぜスレッドか
                1.3.1   非ブロッキングI/O
                1.3.2   アラームとタイマー
                1.3.3   独立したタスク
        1.4     まとめ
2章      Java スレッド API
        2.1     Thread クラスを使ったスレッド化
                2.1.1   アニメーションアプレット
        2.2     Runnable インタフェースを使ったスレッド化
                2.2.1   別の例:ファイルIO
        2.3     スレッドの状態
        2.4     スレッドの名前付け
        2.5     スレッドへのアクセス
        2.6     start()、stop()、join() をもう一度
        2.7     まとめ
3章      同期の技法
        3.1     銀行業務の例
        3.2     AsyncReadSocket クラスについてもう一度
        3.3     同期クラス
        3.4     同期ブロック
        3.5     入れ子になったロック
        3.6     デッドロック
        3.7     銀行業務の例に戻って
        3.8     スタティックメソッド(同期の詳細)
        3.9     まとめ
4章      待機(wait)と通知(notify)
        4.1     銀行業務に戻って
        4.2     待機(wait)と通知(notify)
        4.3     待機(wait)と通知(notify)と全通知(notifyAll)
        4.4     wait() と sleep()
        4.5     スタティックメソッド(同期の詳細)
        4.6     まとめ
5章      Java スレッドプログラミングの便利な例
        5.1     データ構造とコンテナ
                5.1.1   メッセージキュー
                5.1.2   共有メモリ
                5.1.3   循環連結リスト
        5.2     ネットワークサーバクラス
        5.3     AsyncInputStream クラス
        5.4     AsyncInputStream とともにTCPServer を使う
        5.5     まとめ
6章      Java スレッドスケジューリング
        6.1     Java インタプリタのスケジューリング
                6.1.1   スケジューリングの例:優先度の異なるスレッド
                6.1.2   同一優先度を持つスレッドのスケジューリング
                6.1.3   タイマーベースのスケジューリング
        6.2     スケジューリングが重要になるとき
        6.3     スレッドの優先度によるスケジューリング
                6.3.1   Java API の優先度に関する呼び出し
                6.3.2   優先度を使う
                6.3.3   単純な優先度ベースの呼び出しを使用するのはいつか
        6.4     その他のスレッドスケジューリング用メソッド
                6.4.1   suspend()とresume()の使用
                6.4.2   スレッドの実行権を譲る
                6.4.3   スケジューリングメカニズムの比較
                6.4.4   デーモンスレッド
        6.5     スレッドスケジューラの作成
                6.5.1   シンプルなラウンドロビンスケジューラ
                6.5.2   より複雑なスケジューラ
        6.6     ラウンドロビンスケジューリングの公正さ
        6.7     まとめ
7章      同期に関連する問題
        7.1     同期に関連する用語
        7.2     デッドロックを回避する
                7.2.1   別のタイプのデッドロック
        7.3     ロックのスターベーション
                7.3.1   reader-writerロック
        7.8     まとめ
8章      スレッドグループ
        8.1     スレッドグループの考え方
        8.2     スレッドグループを作る
        8.3     スレッドグループを操作する
        8.4     スレッドグループの様々なメソッド
                8.4.1   スレッドグループを探す
                8.4.2   スレッドグループの列挙
                8.4.3   スレッドグループの優先度呼び出し
                8.4.4   スレッドグループを破壊する
                8.4.5   デーモンスレッドグループ
        8.5     スレッドグループ、スレッド、そしてセキュリティ
                8.5.1   アプレットスレッドセキュリティに関する注意
        8.6     まとめ

付録A     スレッドに関するその他の話題
        A.1     スレッドの割り込み
        A.2     スレッドのスタック情報
        A.3     一般的なスレッド情報
        A.4     デフォルト例外ハンドラ
        A.5     ThreadDeathクラス
                A.5.1   ThreadDeathクラスから継承する
                A.5.2   スレッド破壊の続き
付録B     例外とエラー
        B.1     InterruptedException
        B.2     NoSuchMethodError
        B.3     RuntimeException
                B.3.1   IllegalThreadStateException
                B.3.2   IllegalArgumentException
                B.3.3   IllegalMonitorStateException
                B.3.4   NullPointerException
                B.3.5   SecyrutyException       
                B.3.6   任意の例外
付録C.    Java API 内のスレッド
        C.1     単純なJavaアプリケーション内のスレッド
        C.2     GUIアプリケーション内のスレッド
        C.3     Javaアプレットの中のスレッド
                C.3.1   再描画スレッド
                C.3.2   オーディオの演奏
                C.3.3   イメージの表示
                C.3.4   イメージ読み込みの多種化
        C.4     スレッド一覧
付録D.    スレッドのデバッグ
        D.1     jdb入門
                D.1.1   スレッドコマンド
                D.1.2   スレッドグループコマンド
                D.1.3   スレッドの状態を操作するコマンド
                D.1.4   jdbのデバッグセッション
                D.1.5   タイミングとスレッド化されたプログラム