title: Is there a better way to implement multithreading?
body: <p>The source code portion below makes the CPU consumes high! Is there a better way to implement multithreading?</p>
  
  <pre><code>// This application will run 24 hours 7 days per week
  //     in server
  
  static void Main(string[] args)
  {
      const int NUM = 10;
  
      Thread[] t = new Thread[NUM];
  
      for (int i = 0; i &lt; t.Length; i++)
          t[i] = new Thread(new ThreadStart(DoWork));
  
      foreach (Thread u in t)
          u.Start();
  }
  
  static void DoWork()
  {
      while (true)
      {
          // Perform scanning work
          // If some conditions are satisfied,
          //     it will perform some actions
      }
  }
  </code></pre>