Linuxとpthreadsによる マルチスレッドプログラミング入門

概 要

CPUの処理能力向上により、組み込み機器でも複雑な処理が行われるようになりました。そこで注目されているのが、複雑な処理を効率的にこなすマルチタスクシステムです。本書は、C言語によるアプリ開発経験者向けに、組み込み開発でニーズの高まっているpthreadsライブラリを用いたマルチスレッドプログラミングを学ぶ入門書です。マルチスレッドプログラミングの基本的な考え方や気をつけなければならないことを実習形式で解説します。

著者 渋谷克智
価格 本体2400円(税別)
ISBN 978-4-7980-5372-1
発売日 2018/2/14
判型 B5変
ページ数 276
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 マルチスレッドプログラミングとは

1-1 マルチプロセスとマルチスレッドの違い

1-2 マルチスレッドが役立つケース

1-3 マルチスレッドプログラミングの基本要素

1-4 マルチスレッドプログラミングの怖さ

Chapter 2 スレッドの管理

2-1 スレッドを作る

2-2 スレッドの終了

2-3 スレッドIDとスレッド終了待ち

2-4 スレッドの消去

2-5 スレッドの同定

2-6 スレッドの属性

2-7 他のスレッドの強制停止

2-8 Linuxでスレッドはどのように確認できるか

Chapter 3 スレッド間のデータ共有

3-1 スレッド間で共有するもの

3-2 C言語における変数とメモリの関係

3-3 動的に割り当てられたメモリ

3-4 他のスレッドのスタックへのアクセス

3-5 マルチプロセスとマルチスレッドの動作の違い

3-6 マルチスレッドセーフな関数

3-7 オブジェクト指向プログラミングとマルチスレッド

3-8 スレッドローカル変数

3-9 volatile変数

3-10 スレッドとシグナル

Chapter 4 実行の排他制御

4-1 同じ変数に同時にアクセスすると…

4-2 実行を排他する方法

4-3 pthreadsのミューテックス

4-4 ミューテックスの使い方の実習

4-5 実習の解答例

4-6 複数のミューテックスを用いる

4-7 デッドロック

4-8 デッドロックを回避するテクニック

4-9 read/writeロック

4-10 ミューテックスの属性

Chapter 5 条件待ち

5-1 実行を同期したいケース

5-2 条件待ちをする方法

5-3 タイムアウト付き条件待ち

5-4 条件変数の使い方の実習

5-5 実習の解答例

5-6 条件待ちでミューテックスを使う意義

5-7 1つの条件を複数のスレッドが待つ場合

5-8 スタベーション

5-9 条件変数の属性

Chapter 6 キューの作成実習

6-1 この実習で作成するキュー

6-2 マルチスレッドセーフではないキューの例

6-3 キューを使ったプログラム例

6-4 実習:キューをマルチスレッドセーフにする

6-5 実習の解答例

Chapter 7 デザインパターン

7-1 エージェント

7-2 ワーカースレッド

7-3 スレッドプール

7-4 待ち合わせ

Chapter 8 ソケットプログラム実習

8-1 実習の題材の説明

8-2 ソケットプログラムの簡単な例

8-3 マルチワーカー型ソケットプログラムの作成実習

8-4 正解例1:キューを使わない場合

8-5 正解例2:キューを使う場合

Appendix

Appendix A ソケットプログラム実習で使うソースコード

Appendix B ncコマンド代用品

PR

秀和システム