title: Synchronization: Wake up a thread when all other threads have left
body: <p>Here's the scenario:
  When my application is shutting down I wish to start a disposing thread but it must sleep straight away. I want all the running threads enter a cleanup section. Once all of those threads have finished their job and left the section, I want the disposing section wake up and finaliaze the shut down process.</p>
  <p>Which synchronization mechanism should I use, Mutex, Monitor, or Semaphore? and How?</p>
  <p>Thanks.</p>