2019-05-03 GolangのContext入門 Golang Contextとは何か? Golangには context という標準パッケージがあります(以前は実験パッケージ golang.org/x/net/context でしたがGolang1.7から標準採用されました)。これは「コールグラフの下流をまとめてキャンセルさせたい」「リクエストスコープな値をコールグラフの下流に伝播させたい」という場合に使用します。 続きを読む
2019-05-01 sync.Poolの使い方 Golang はじめに Golangには平行処理でよく使う機能がまとめられたパッケージ sync があります。この中には Pool という構造体がありその名の通り何らかの使うものを貯めておけ、必要なタイミングでそれを取り出し不要になったらまたしまう、という仕組みを簡単に作ることができます。 少し触ってみて面白かったので使い方を書き留めておきます。 続きを読む
2019-03-28 GolangでMutexを使いRace Conditionを回避する Race Conditionとは 日本語に訳すと「競合状態」でプログラミングの文脈においては「ある処理が並行に動作している別の処理に影響を及ぼし予測不能な結果を引き起こす」ことをいいます(以下RC)。 続きを読む