Windows exposes several types of synchronization primitives (Mutexes, Events, etc.), but in .NET 1.1 we were limited in our use of them. Sure, we had AutoResetEvent and ManualResetEvent, but the framework did not expose the "named" version of these. The 2.0 framework brings us nearly the full gamut!!