由于某种原因,我最近开始获取SemaphoreFullException。 我一直使用SemaphoreSlim的方式是
private readonly SemaphoreSlim EXECUTE_LOCK = new SemaphoreSlim(1, 1);
if (await EXECUTE_LOCK.WaitAsync(TimeSpan.Zero))
{
try
{
}
catch (Exception ex)
{
throw;
}
finally
{
EXECUTE_LOCK.Release();
}
}
据我了解,这应确保一个入口和一个释放。 还是出于某种原因我抛出了异常。 所以问题是我滥用SemaphoreSlim吗?
谢谢。