private void RunDisruptorPass() { var latch = new ManualResetEvent(false); var barrier = new Barrier(3); pinger.Reset(barrier, latch, histogram); ponger.Reset(barrier); System.Threading.Tasks.Task.Factory.StartNew(() => pongProcessor.Run()); System.Threading.Tasks.Task.Factory.StartNew(() => pingProcessor.Run()); barrier.SignalAndWait(); latch.WaitOne(); pingProcessor.Halt(); pongProcessor.Halt(); }