Skip to content

Go言語による並行処理 読書ログ

2023/02/18

Go

Go 言語による並行処理 を読みました。

1 年前以上まえから読みたいなと思いつつ Go が分からないということで積ん読になっていたのですが、最近 Go を少し書いていたので良いタイミングでした。

歴史的経緯や並行処理を使う判断基準など、わかりやすく読んで良かったと思える内容でおすすめです!


ある瞬間にただ 1 つのゴルーチンがある特定のデータの責任を持つように心がけると良い(Go 言語による並行処理から)

ということで、sync パッケージでロックするか、チャネルを使うかの判断基準がとても腑に落ちました。

Yes
No
Yes
No
Yes
No
No
Yes
パフォーマンスクリティカルセクションか?
プリミティブを使う
データの所有権を移動しようとしているか?
チャネルを使う
構造体の内部の状態を保護しようとしているか?
複数のロジックを協調させようとしているか?

実装パターンやコンテキストをどのように捉え、どの単位で並行処理を行うかなど、詳しく書かれており、よく分からないものから友達になれそうです。