本文へスキップします。

【参】モーダルJS:読み込み
書籍DB:詳細

Go言語による並行処理

Go言語による並行処理

  • 著者Katherine Cox-Buday山口 能迪
  • 定価3,024円 (本体2,800円+税)
  • 判型B5変
  • 256頁
  • ISBN978-4-87311-846-8
  • 発売日2018/10/26
  • 発行元オライリー・ジャパン

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

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

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 ジェネリクスについて

著者紹介