スレッドセーフ等が付いたキューとして使えるSystem.Threading.Channels (1) 最低限の使い方を紹介C#マルチスレッドqueuePubSub 概要 大量に発生するイベントを、いったんキューに積んであとで処理したい。しかし、キューと言っても.NETの普通のQueue<T>では最低限の機能しか無く、排他やイベント待ちなど自分で色々考える必要があって辛い。もっと便利に使えるものは無いか?有るぞ!という話です。 最初に結論まとめ System.Threading.Channelsを使いましょう。Pub/Subメッセージングを実現するライブラリなので、取り出す側が一つだけになるような、いわゆるキューの用途もカバーしています。こんな感じで使えます。 //初期設定 Channel<int> queue = Chennel.CreateUnbounded<int>(); //キューに