Asynchrony and DataThe Interlocked ClassMonitor: The Workhorse of .NET SynchronizationOptimizing for ReadA Semaphore Out of the BoxRaising the Starting Gate: ManualResetEventSlimCountdownEvent: Simplifying Fork and JoinBarrier: Rendezvous-Based SynchronizationCrossing the AppDomain Boundary with WaitHandleSynchronization Is Not the Only AnswerConclusion