技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

2018-12-03から1日間の記事一覧

sync.Mutex【Go】

Go

channel以外の方法で異なるgoroutineがアクセスしても、 競合によるエラーが起きないようにするための機能です。 channelではなく、1つのmapに対して異なる2つのgoroutineがアクセスする 次のコードは、エラーが発生することがあります。 func main() { c :=…

channelのselectパターン、for break【Go】

Go

selectパターン 複数channelを同時並行に処理したい場合に利用します。 selectを用いることで、複数channelの状態を、ブロックすることなしに同時に監視できます。 値がchannelに入ったものから順に処理されます。 defaultが記載されていない場合で、かつど…

fan-out、fan-inパターン【Go】

Go

タスクを複数のgoroutineに分割して、順序通りに処理させたい場合に利用します。 fan-inは、複数の入力を1つのchannelにまとめて受信するパターンです。 fan-outは、複数の関数(goroutine)が、1つのchannelから値を読み取り送信するパターンです。 fan-out…