TL;DR
複数のゴルーチンが、1 つのチャネルから読み込むデザインパターン。
仕組み
Go の公式ブログでは、チャネルが閉じられるまで複数の関数が同じチャネルから読み込むことを fan-out と呼んでいる。1 つの入力を複数のワーカーで分け合うことで、CPU や I/O を使う処理を分散できる。
関連
- Fan-In pattern: 逆に、複数のチャネルを 1 つのチャネルに集約する
- Pipeline pattern
- Worker Pool pattern
複数のゴルーチンが、1 つのチャネルから読み込むデザインパターン。
Go の公式ブログでは、チャネルが閉じられるまで複数の関数が同じチャネルから読み込むことを fan-out と呼んでいる。1 つの入力を複数のワーカーで分け合うことで、CPU や I/O を使う処理を分散できる。