using System.Collections.Concurrent;
using System.Threading.Tasks;
private static BlockingCollection<int> _queue = new BlockingCollection<int>(5);
for (int i = 1; i <= 10; i++)
Console.WriteLine($"Produced: {i}");
foreach (var item in _queue.GetConsumingEnumerable())
Console.WriteLine($"Consumed: {item}");
public static void Main()
Task.Run(() => Producer());
Task.Run(() => Consumer()).Wait();