public static void Reader(BoundedBuffer buffer) { for (int i = 0; i < 10; i++) { buffer.Take(); } }
public static void Writer(BoundedBuffer buffer) { for (int i = 0; i < 20; i++) { buffer.Put("hello " + i); } }
public static void Test_BoundedBuffer() { BoundedBuffer buffer = new BoundedBuffer(false); var tasks = new List <Task> { Task.Run(() => BoundedBuffer.Reader(buffer)), Task.Run(() => BoundedBuffer.Reader(buffer)), Task.Run(() => BoundedBuffer.Writer(buffer)) }; Task.WaitAll(tasks.ToArray()); }