
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
GO言語で並列実行するサンプルコード。ワーカーのキャンセル機能付き - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
GO言語で並列実行するサンプルコード。ワーカーのキャンセル機能付き - Qiita
package main import ( "context" "fmt" "time" "github.com/pkg/errors" ) type Result struct { Task ... package main import ( "context" "fmt" "time" "github.com/pkg/errors" ) type Result struct { Task Task Err error } type Task struct { Bar int } func worker(workerID int, ctx context.Context, taskChannel <-chan Task, resultChannel chan<- Result) { // taskCannelがなくなるまで動作する for task := range taskChannel { select { case <-ctx.Done(): // 親からcancel()が実行された場合、動きを止める fmt.Printf("[%d] got Cancel\n", workerI