2018-12-03から1日間の記事一覧
channel以外の方法で異なるgoroutineがアクセスしても、 競合によるエラーが起きないようにするための機能です。 channelではなく、1つのmapに対して異なる2つのgoroutineがアクセスする 次のコードは、エラーが発生することがあります。 func main() { c :=…
selectパターン 複数channelを同時並行に処理したい場合に利用します。 selectを用いることで、複数channelの状態を、ブロックすることなしに同時に監視できます。 値がchannelに入ったものから順に処理されます。 defaultが記載されていない場合で、かつど…
タスクを複数のgoroutineに分割して、順序通りに処理させたい場合に利用します。 fan-inは、複数の入力を1つのchannelにまとめて受信するパターンです。 fan-outは、複数の関数(goroutine)が、1つのchannelから値を読み取り送信するパターンです。 fan-out…