• ゴルーチンの関係を調整しようとしている、あるいは一連のゴルーチンによって変換されるデータをトラックしているのならばチャネルを使うべきである
  • 構造体のフィールドに対するアクセスを共有しているのならばmutexを使うべきである
  • チャネルを使う際に致命的なパフォーマンスの問題があり、この問題を修正する方法が見つからないのならばmutexを使うようにコードを修正すべきである
  • Goのmutexはリエントラントではない