概要 前回の記事で、排他などもできる便利なキューとしてSystem.Threading.Channelsを使うという切り口で、基本的な使い方の紹介をしました。今回は、ちょっとした応用の使い方を書こうと思います。 デリゲートを入れて、処理の待ち行列にもできる 「キュー」と言われたときにイメージするのは、やはりデータを入れるキューだと思います。 System.Threading.ChannelsはGenericなので、自由な型を与えることができます。ということは、Action型等のデリゲートを与えることもできます。 つまり、次のようにバラバラの処理の待ち行列としても使えるということです。 var queue = Channel.CreateUnbounded<Action>(); //Enqueue側 await queue.Writer.WriteAsync(()=>{ Console.Wr