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

15 lines
705 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).
---
> **LLM Maintenance:** If you modify code in this folder, update this README to reflect the changes. If you notice the README content does not match the current code, automatically update the README to match the code.