public void Test() { var th = new WorkerThread(); // #if false { var a = th.StartNew(Worker0); while (!a.Wait(0)) { Thread.Sleep(1); } Assert.AreEqual(1, Worker0Count); } { var a = th.StartNew(Worker1, 0); while (!a.Wait(0)) { Thread.Sleep(1); } Assert.AreEqual(1, Worker1Count); } #endif { var a = th.StartNew(Worker2); while (!a.Wait(0)) { Thread.Sleep(1); } Assert.AreEqual(1, Worker2Count); } { var a = th.StartNew(Worker3, 0); while (!a.Wait(0)) { Thread.Sleep(1); } Assert.AreEqual(1, Worker3Count); } }