ミューテックス
System.Threading.Monitorクラスが用意されているが、このクラスを使用した言語組み込みの同期機能も用意されている。例えばC#では lock ステートメント、Visual Basic .NETでは SyncLock ステートメントで、クリティカルセクションを任意のロックオブジェクトにより相互排他ロックすることが可能である。ただし、thisオブジェクトやSystem.Typeインスタンスなど、ロックに使用してはいけないとされているオブジェクトもある。また、メソッド全体を包含する場合は、[MethodImplAttribute(MethodImplOptions.Synchronized)]属性を適用することができる(Javaのsynchronizedメソッドに相当)。ただしC# 5.0/VB.NET 11で追加されたawait/Await演算子を含むコードブロックをlock/SyncLockでロックすることはできず、System.Threading.SemaphoreSlimクラスなどを使用する必要がある。
C++/CLI向けにはRAIIを応用したmsclr::lockクラスが用意されている。
Boost C++ライブラリのboost::interprocess::interprocess_mutexなどを使う。内部的には共有メモリやメモリマップトファイルを使って実装されることもある。Windows実装の場合はWin32ミューテックスを使う実験的コードも存在する。
System.Threading.Mutexクラスを使う。