c# - 抛出 SemaphoreSlim SemaphorefullException
问题描述
出于某种原因,我在释放信号量时收到了 SemaphoreFullException。这可能与 ConfigureAwait(false) 有关吗?
这是示例代码
readonly SemaphoreSlim MODIFY_LOCK = new SemaphoreSlim(1, 1);
if (await MODIFY_LOCK.WaitAsync(TimeSpan.Zero).ConfigureAwait(false))
{
try
{
Remove(orderLine);
}
catch
{
throw;
}
finally
{
MODIFY_LOCK.Release();
}
}
解决方案
推荐阅读
- mongodb - 检查数组中是否存在字段
- c# - DelegatingHandler SendAsync 问题
- php - 全局临时表的 PHP Oracle 问题
- javascript - 糟糕的 ComponentDidMount 函数吞噬了我每天 95000 次调用 - ReactJS
- linux - 安装 docker 会导致主机上的 $hostname 解析为 docker 子网而不是 lan
- bash - bash 从期望脚本中获取退出状态
- authorization - XACML 3.0 和多种资源
- firefox - 火狐
- javascript - 枚举 Javascript 示例混淆
- typescript - 如何检查数组是否包含特定项目