这是我的代码:
class StateManager
{
private readonly ConcurrentDictionary<int, bool> _states = new ConcurrentDictionary<int, bool>();
public void SetState(int id, bool state)
{
_states[id] = state;
if (!state)
RemoveLately(id);
}
private async void RemoveLately(int id)
{
await Task.Delay(10000).ConfigureAwait(false);
_states.TryRemove(id, out _);
}
}
我的目标是在一段时间后删除一个项目。我不想使用 Task.RunRemoveLately因为它可能被调用数千次。如果有的话,这种做法的缺点是什么?
慕斯王
千万里不及你
相关分类