Go言語による並行処理

Go言語の並行処理の扱い方に関するわかりやすい手引書!

このような方におすすめ

Goでプログラミングをしているプログラマ、並行処理について学習したいプログラマ、学生
  • 著者Katherine Cox-Buday/山口 能迪
  • 定価3,080 (本体2,800 円+税)
  • B5変 256頁 2018/10発行
  • ISBN978-4-87311-846-8
  • 定価
  • ポイント0
  • 数量

※本体価格は変更される場合があります。
※通常2〜3営業日以内で発送いたします。
※取寄が可能な場合もございますのでお問合せください。

  • 概要
  • 主要目次
  • 詳細目次

シンプルな言語仕様と手厚い並行処理機能で、多くのプログラマの心を捉えるGo言語。そのGoの並行処理の設計哲学、言語の機能、また実際のプログラミングテクニックや並行処理の使い方、システムに導入する際のベストプラクティスとパターン、その内部構造までをまとめた1冊です。

https://www.ohmsha.co.jp/book/9784873118468/

    
訳者まえがき
序文

1章 並行処理入門
1.1 ムーアの法則、Webスケール、そして私たちのいる混沌
1.2 なぜ並行処理が難しいのか
1.2.1 競合状態
1.2.2 アトミック性
1.2.3 メモリアクセス同期
1.2.4 デッドロック、ライブロック、リソース枯渇
1.2.5 並行処理の安全性を見極める
1.3 複雑さを前にした簡潔さ

2章 並行性をどうモデル化するか:CSPとは何か
2.1 並行性と並列性の違い
2.2 CSPとは何か
2.3 これがどう役に立つのか
2.4 Goの並行処理における哲学

3章 Goにおける並行処理の構成要素
3.1 ゴルーチン(goroutine)
3.2 syncパッケージ
3.2.1 WaitGroup
3.2.2 MutexとRWMutex
3.2.3 Cond
3.2.4 Once
3.2.5 Pool
3.3 チャネル(channel)
3.4 select文
3.5 GOMAXPROCSレバー
3.6 まとめ

4章 Goでの並行処理パターン
4.1 拘束
4.2 for-selectループ
4.3 ゴルーチンリークを避ける
4.4 orチャネル
4.5 エラーハンドリング
4.6 パイプライン
4.6.1 パイプライン構築のためのベストプラクティス
4.6.2 便利なジェネレーターをいくつか
4.7 ファンアウト、ファンイン
4.8 or-doneチャネル
4.9 teeチャネル
4.10 bridgeチャネル
4.11 キュー
4.12 contextパッケージ
4.13 まとめ

5章 大規模開発での並行処理
5.1 エラー伝播
5.2 タイムアウトとキャンセル処理
5.3 ハートビート
5.4 複製されたリクエスト
5.5 流量制限
5.6 不健全なゴルーチンを直す
5.7 まとめ

6章 ゴルーチンとGoランタイム
6.1 ワークスティーリング
6.1.1 タスクと継続、どちらを盗むのか
6.2 すべての開発者にこの言葉を贈ります
6.3 結論

補遺A
A.1 ゴルーチンのエラーの解剖
A.2 競合状態の検出
A.3 pprof
A.4 trace

補遺B go generate
B.1 空インターフェースの使用について
B.2 go generateとは何か
B.3 go generate の機能
B.4 例: genny を利用する
B.5 ジェネリクスについて

著者紹介