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;
namespace Volo.Abp.DistributedLocking;
public class LocalAbpDistributedLockHandle : IAbpDistributedLockHandle
namespace Volo.Abp.DistributedLocking
{
private readonly IDisposable _disposable;
public LocalAbpDistributedLockHandle(IDisposable disposable)
public class LocalAbpDistributedLockHandle : IAbpDistributedLockHandle
{
_disposable = disposable;
}
private readonly SemaphoreSlim _semaphore;
public ValueTask DisposeAsync()
{
_disposable.Dispose();
return default;
public LocalAbpDistributedLockHandle(SemaphoreSlim semaphore)
{
_semaphore = semaphore;
}
public ValueTask DisposeAsync()
{
_semaphore.Release();
return default;
}
}
}

Loading…
Cancel
Save