private void Run()
 {
     do
     {
         VConsole.WriteLine("----------------");
         initLock  = new StInitOnceLock();
         cycleDone = new StCountDownEvent(THREADS);
         for (int i = 0; i < THREADS; i++)
         {
             new InitializerThread().Start(i, "i #" + i);
         }
         cycleDone.WaitOne();
         lazySem = null;
         //Thread.Sleep(1000);
     } while (!shutdown.IsSet);
     done.Set();
 }
 private void Run() {
     do {
         VConsole.WriteLine("----------------");
         initLock = new StInitOnceLock();
         cycleDone = new StCountDownEvent(THREADS);
         for (int i = 0; i < THREADS; i++) {
             new InitializerThread().Start(i, "i #" + i);
         }
         cycleDone.WaitOne();
         lazySem = null;
         //Thread.Sleep(1000);
     } while (!shutdown.IsSet);
     done.Set();
 }