static void Main(string[] args) { BlockingCollection<int> _buffer = new BlockingCollection<int>(40); BlockingCollection<int> _buffer2 = new BlockingCollection<int>(40); Producer prod = new Producer(_buffer, 40); Consumer con = new Consumer(_buffer2); Middleman mid = new Middleman(_buffer, _buffer2); Parallel.Invoke(prod.Run, con.Run, mid.Run); }
public static void Main(string[] args) { int length = 10; BoundedBuffer testedBuffer = new BoundedBuffer(length); Producer p1 = new Producer(testedBuffer,15,1); Producer p2 = new Producer(testedBuffer, 15, 2); Consumer c1 = new Consumer(testedBuffer); p2.run(); p1.run(); c1.run(); Thread.Sleep(1000); p1.stop(); p2.stop(); c1.stop(); Console.ReadKey(); }