<PackageReference Include="Nito.AsyncEx.Tasks" Version="5.1.0" />

Nito.AsyncEx.SemaphoreSlimExtensions

public static class SemaphoreSlimExtensions
Provides extension methods for SemaphoreSlim.
namespace Nito.AsyncEx { public static class SemaphoreSlimExtensions { public static AwaitableDisposable<IDisposable> LockAsync(this SemaphoreSlim this, CancellationToken cancellationToken); public static AwaitableDisposable<IDisposable> LockAsync(this SemaphoreSlim this); public static IDisposable Lock(this SemaphoreSlim this, CancellationToken cancellationToken); public static IDisposable Lock(this SemaphoreSlim this); } }