Goroutines
関数
を
並行処理
で走らせる
Go
の機能.
バグ
を避けるためのがんばり
Goroutines
より広い
スコープ
の
変数
を参照しない
引数
に
値
を
代入
して渡す.
データ
をやりとりする際は
チャネル
の利用と
sync.Mutex
などの
メモリロック
によって
メモリ共有
を行ってやりとりする手段とが考えられる.
Do not communicate by sharing memory; instead, share memory by communicating.
チャネル
は
ゴールーチンセーフ
なので積極的に利用した方が安全.
カウンタ
などは
排他ロック
の方が素直な実装になるので,必ずしもという話ではない.
使い終わった
Goroutines
はちゃんとcloseしないと
メモリリーク
が発生する.
ゴルーチンリーク
と呼ぶらしい.
ランタイム
の実装などでは
G
と表記されている.