Browse Source

Refactor LocalAbpDistributedLockHandle to use SemaphoreSlim

pull/24425/head
maliming 2 months ago
parent
commit
917069fdf5
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 27
      framework/src/Volo.Abp.DistributedLocking.Abstractions/Volo/Abp/DistributedLocking/LocalAbpDistributedLockHandle.cs

27
framework/src/Volo.Abp.DistributedLocking.Abstractions/Volo/Abp/DistributedLocking/LocalAbpDistributedLockHandle.cs

@ -1,20 +1,21 @@
using System; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Volo.Abp.DistributedLocking; namespace Volo.Abp.DistributedLocking
public class LocalAbpDistributedLockHandle : IAbpDistributedLockHandle
{ {
private readonly IDisposable _disposable; public class LocalAbpDistributedLockHandle : IAbpDistributedLockHandle
public LocalAbpDistributedLockHandle(IDisposable disposable)
{ {
_disposable = disposable; private readonly SemaphoreSlim _semaphore;
}
public ValueTask DisposeAsync() public LocalAbpDistributedLockHandle(SemaphoreSlim semaphore)
{ {
_disposable.Dispose(); _semaphore = semaphore;
return default; }
public ValueTask DisposeAsync()
{
_semaphore.Release();
return default;
}
} }
} }

Loading…
Cancel
Save