Go言語による並行処理 の商品レビュー
Goでの並行処理のプリミティブが丁寧に説明されている。並行処理を自分で書くことはないけど、contextをなんとなく使っている場合、そのモチベーションも理解できるだろう。
Posted by
golangの和書は数がそれほどないのでしっかりした並行処理の本というのは貴重である。 golangの勉強を始めたばかりの私にとっては、golang的に自然に書くとこうなるというサンプルを写経するのが目的であったが、この点で大いに楽しみかつ学ばせていただいた。 満点評価の所以であ...
golangの和書は数がそれほどないのでしっかりした並行処理の本というのは貴重である。 golangの勉強を始めたばかりの私にとっては、golang的に自然に書くとこうなるというサンプルを写経するのが目的であったが、この点で大いに楽しみかつ学ばせていただいた。 満点評価の所以である。 ただ、読み終わって自分のコードを書いてみると、本書のコード例は全部と言わないまでもいくらか以上は概念説明のためのもので、必ずしも自然なgolang風のコード例とは言えないのではないかと思った。 例えば、複数のchanから読み込んで一つのchanへ書き出すfan-inパターンをfor-selectループで書いているが、もともとchanがgoroutine-safeなので単純に書き出し用chanを複数のgoroutineに渡せば良い、また、そうしないとgoroutineを次々と使い捨てるような場合に動的にfan-inするのが難しい点である。 また、本書ではクロージャでパラメータを渡す書き方なのだが、一般的にはtype(struct)にパラメータを定義して実体化しメンバ関数を呼び出す作り方の方がgolangっぽいと言えるのではないか。もちろんそうでなければならないわけではないので構わないのだけれど、クロージャが三重くらいになってくると最早私には追いきれなくなってくる。 ともあれ、golangを学ぶなら是非読むべきだし、何度も読み返すことになるだろうと思える名著である。
Posted by
Go langの特徴の1つである並行処理(goroutine)の処理パターンについて書いてある本。いろいろなパターンについて書いてあるがソースコードは肝心の部分だけを書いてありそれだけでは実行できない。全体のソースコードはGitHubに登録してあるのでそちらをみることで実行はでき...
Go langの特徴の1つである並行処理(goroutine)の処理パターンについて書いてある本。いろいろなパターンについて書いてあるがソースコードは肝心の部分だけを書いてありそれだけでは実行できない。全体のソースコードはGitHubに登録してあるのでそちらをみることで実行はできるようにはなっている。ただ本に掲載されているソースとGitHubに登録してあるソースの関連がわかりにくく読みにくかった。 1章 並行処理入門 省略 2章 平行性をどうモデル化するか 省略 3章 Goにおける並行処理の構成要素 Goにて並行処理を行うためのパーツの紹介。 goroutine WaitGroup Mutex Cond Once Pool channel select 4章 Goでの並行処理パターン おそらくこの本のメイン。 拘束 for selectループ orチャンネル エラーハンドリング Goには例外処理がないので並行処理でのエアラーハンドリングについての解説 パイプライン ファンアウト、ファンイン or-doneチャネル teeチャネル bridgeチャネル キュー contextパッケージ 5章 大規模開発での並行処理 タイムアウト処理、ハートビート処理、流量制限などの解説。 このような機能はWeb開発に向いている気がする。 6章 コルーチンとGoランタイム 高度な内容なのでパス
Posted by
- 1