タグ

ブックマーク / golang.rdy.jp (1)

  • chanの使い方パターンメモ。

    chan使用パターンを記録するよ! chanは強力な仕掛けなんだけど、 道を踏み外すと道半ばで刺さる。 なので良かったパターンをメモっとく。 chanを扱う役割は5つある。 makeする役(maker) writeする役(writer) readする役(reader) closeする役(closer) 破棄する役(GC) これらを踏まえて抑えるべきポイントは read,write,closeは時間的にmakeからGCまでの間にしか存在してはいけない。 readerとwriterは基別のgoroutineであること。 closeはreaderに終了を通知するためのもの。 readerを終了させる最善の手はclose。 基writerとcloserは一蓮托生。 そうでなければcloseは使うべきでない。 chanは同期のための仕組みで、Mutexなどを併用するのは使い方がおかしい。 cha

    nilab
    nilab 2017/11/02
    chanの使い方パターンメモ。 - GolangRdyJp
  • 1