「Go言語による並行処理」を読んでみたけどめちゃ勉強になる本だった

Go言語による並行処理

Go言語による並行処理

  • 作者: Katherine Cox-Buday,山口能迪
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2018/10/26
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

2018年10月に出版されたようです。
Twitterで「献本いただきましたー」とかよく出てるので気になってたんです。

読んでみた感想としては、Go言語での並行処理をだいたい網羅しててすごく勉強になるなと思いました。

それと、まあ...難しいよね......って感じです。
三流エンジニアにとってはけっこう難しく感じました。。。

ですが今後Goで並行処理を実装するとなると必読になる本だと思います。

内容

ざっくりですが、どういうことが書いてあるかというとこんな感じです。

  • 並行処理入門
  • 並行性をどうモデル化するか
  • 並行処理の構成要素
  • 並行処理パターン
  • 大規模開発での並行処理
  • ゴルーチンとGoランタイム
  • おまけ

最初の方は導入部分で割と丁寧に説明してくれています。

また個人的にですが、「Goでの並行処理パターン」で様々なゴルーチンの使い方が説明してくれたのは知見が広がってとてもよかったです。

読んでて思わず「そういう使い方があったのかー」と思ってしまいました。

なので並行処理を使ったことがある人であれば、かなり勉強になる本だと思います。

並行処理って難しいっすよね

以前gzファイルからPQを作るときにGo言語で実装してたんですね。
その時に並行処理とか使ってたのである程度は知っていたんですが、その経験がなかったらこの本の内容はけっこう難しかったかもなと思いました。

その時のGoでPQ作るときに使ってたリポジトリがこれ。
中身が気になってじっくりコードを読んでたのが意外と力になりました。
github.com

一回実行するとやたらとゴルーチンがどわーっと使われていてたことをよく覚えています。
「ゴルーチンを湯水のごとく使え!」って言葉がよくわかりました。


また読んでて何が難しいかって、並行処理はソースコードが書いてあっても上から順に実行されるわけじゃないから想像するのが大変なんですよね。

え? 読むのに苦労してるのはオレだけ.....?
あははは、、、

ま 合わせてサンプルを実行してみるともっとわかりやすいかと思います。

ほかの人の書評とかコメントとか

著名なGoエンジニアの書評も参考になります。

medium.com

mattn.kaoriya.net

最後に

初めてGoで並行処理を使ってみたときは、なんて簡単に並行処理が書けるんだ!と楽しくなりました。

まだまだ経験が乏しいのですが、どんどんGoを使ってみて非同期処理をもっとやってみたくなる本です。

一回読むだけでは理解できなかったところが多々あるので、今後何回となく読み返して深めていきたい本でした。

オススメですよ!