title: Asynchronous Thread.Sleep()
body: <p>I want to put a delay between 2 operations without keeping busy the thread</p>
  
  <pre><code> workA();
   Thread.Sleep(1000);
   workB();
  </code></pre>
  
  <p>The thread must exit after workA and execute workB (maybe in a new thread) after some delay.</p>
  
  <p>I wonder if it's possible some equevalent of this pseudocode</p>
  
  <pre><code>workA();
  Thread.BeginSleep(1000, workB); // callback
  </code></pre>
  
  <p>edit
  My program is in .NET 2.0</p>
  
  <p>edit 2 :
  System.Timers.Timer.Elapsed event will raise the event after 1000 ms. I dont know if the timer thread will be busy for 1000 ms. (so I dont gain thread economy)</p>