一、方案对比:不同线程安全集合的适用场景
二、推荐方案及示例代码
方案 1:使用 BlockingCollection(同步模型)
public class QueueDemo
{
private readonly BlockingCollection<int> _blockingCollection = new BlockingCollection<int>();
private readonly CancellationTokenSource _cts = new CancellationTokenSource();
public QueueDemo()
{
}
// 生产者方法
public void ProduceData()
{
Task.Run(() =>
{
var rnd = new Random();
while (!_cts.IsCancellationRequested)
{
var item = rnd.Next(1, 100);
_blockingCollection.Add(item); // 触发消费者唤醒
Console<