AyCode.Core/AyCode.Utils/Wrappers/README.md

11 lines
481 B
Markdown

# Wrappers
Disposable wrappers enabling `using` pattern for synchronization primitives.
## Key Files
- **`ReleaseWrapperMutex.cs`** — `IDisposable` wrapper for `Mutex`. Calls `ReleaseMutex()` on dispose. Used via `mutex.UseWaitOne()`.
- **`ReleaseWrapperSemaphore.cs`** — `IDisposable` wrapper for `SemaphoreSlim`. Calls `Release()` on dispose. Used via `semaphore.UseWait()` / `UseWaitAsync()`.
Both are idempotent (safe to dispose multiple times via `_isDisposed` flag).