private static async void Consumer(AsyncProducerConsumerCollection <int> queue) { while (true) { int val = await queue.Take(); Console.WriteLine("Procesing"); Thread.Sleep(val); Console.WriteLine("Done"); } }
static void Main(string[] args) { AsyncProducerConsumerCollection <int> queue = new AsyncProducerConsumerCollection <int>(); // How many consumers to create for (int nConsumer = 0; nConsumer < 2; nConsumer++) { Consumer(queue); } Console.WriteLine("Press enter to add work items to queue"); Random rnd = new Random(); while (true) { Console.ReadLine(); queue.Add(3000); Console.WriteLine("Added.."); } }