スレッドセーフなコレクションクラス メモ
こういうクラスがあるのよということを箇条書きで。
System.Collections.Concurrentで定義されているクラスを使う。
System.Collections.Concurrent 名前空間 ()
System.Collections.Concurrent 名前空間 ()
BlockingCollectionクラス
- スレッドセーフなキューとして使用できる
- スレッドセーフなのでlock制御が必要ない
- TryTakeメソッドでDeQueueする
- AddメソッドでEnQueueする
- IsAddingCompletedプロパティでエンキュー側(プロデューサーというらしい)が追加しているかが確認できる。