概要
とても勉強になるリポジトリを見つけたので、忘れない内にメモメモ。。。
書籍 「Go言語による並行処理」、「プログラミング言語Go」のサンプルを元にして作ったと説明されていますね。
参考情報
本ブログでもGoの非同期処理については、何度か記事にしていますので良かったらご参考まで。
- chans package - github.com/devlights/gomy/chans - pkg.go.dev
- Goメモ-49 (ゴルーチンとチャネルでProducer/Consumer処理を作る) - いろいろ備忘録日記
- Goメモ-53 (チャネル (channel), Goroutines, Tour of Go) - いろいろ備忘録日記
- Goメモ-54 (select, Goroutines, Tour of Go) - いろいろ備忘録日記
- Goメモ-55 (sync.Mutex, Goroutines, Tour of Go) - いろいろ備忘録日記
- Goメモ-62 (sync.WaitGroupとerrgroupパッケージ) - いろいろ備忘録日記
- Goメモ-65 (ゴルーチンと再帰処理の組み合わせメモ) と C#のサンプル - いろいろ備忘録日記
- Goメモ-66 (どれか一つのチャネルが閉じたら閉じるチャネル, WhenAny) - いろいろ備忘録日記
- Goメモ-67 (複数の全てのチャネルが閉じたら閉じるチャネル, WhenAll) - いろいろ備忘録日記
- Goメモ-69 (指定された値を繰り返すチャネル, Repeat) - いろいろ備忘録日記
- Goメモ-70 (チャネルから指定された個数分取得するチャネル, Take, TakeWhile, TakeWhileFn) - いろいろ備忘録日記
- Goメモ-71 (指定されたチャネルのどちらかが閉じたら閉じるチャネル, OrDone) - いろいろ備忘録日記
- Goメモ-72 (指定されたチャネルのシーケンスを順に消費していくチャネル, Concat) - いろいろ備忘録日記
- Goメモ-73 (fan-in パターンでデータを集約するチャネル, FanIn) - いろいろ備忘録日記
- Goメモ-74 (複数のOrDoneチャネルを使って処理, OrDone, FanOut, Workers) - いろいろ備忘録日記
- Goメモ-75 (一つの入力を複製して2つにするチャネル, Tee) - いろいろ備忘録日記
- Goメモ-76 (ループ用のチャネル, Loop, LoopInfinite) - いろいろ備忘録日記
- Goメモ-77 (シーケンスをチャネルにする, ForEach) - いろいろ備忘録日記
- Goメモ-78 (指定したインターバルでデータを出力するチャネル, Interval) - いろいろ備忘録日記
- Goメモ-79 (指定されたワーカー数でファンアウトさせる関数, FanOut) - いろいろ備忘録日記
- Goメモ-81 (複数のsync.WaitGroupをまとめて管理する型, MergedWaitGroup) - いろいろ備忘録日記
- Goメモ-83 (チャネルの要素に対してインデックスを付与して返す関数, Enumerate) - いろいろ備忘録日記
- Goメモ-84 (指定した分チャネルからのデータをスキップする関数, Skip,SkipWhile) - いろいろ備忘録日記
- Goメモ-85 (チャネルからのデータをフィルタリングする関数, Filter) - いろいろ備忘録日記
- Goメモ-86 (チャネルの要素に指定された処理を適用した結果を返す関数, Map) - いろいろ備忘録日記
- Goメモ-121 (ゴルーチンの完了検知方法あれこれ) - いろいろ備忘録日記
- Goメモ-123 (selectでのチャネル選択の有効無効を切り替える) - いろいろ備忘録日記
- Goメモ-125 (どれか一つが完了したら完了するコンテキスト, WhenAny) - いろいろ備忘録日記
- Goメモ-127 (データをバッファリングして吐き出すチャネル, Buffer) - いろいろ備忘録日記
- Goメモ-163 (非同期パターンがまとまっているリポジトリ)(go-concurrency-patterns) - いろいろ備忘録日記
- Goメモ-175 (N個のチャネルのどれかから値を取得)(reflect.Select, SelectCase) - いろいろ備忘録日記
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。