同一个函数内多个异步锁

通常,使用异步锁都是直接使用这个库 AsyncEx 中的 AsyncLock 。 先看看官方栗子: private readonly AsyncLock _mutex = new AsyncLock(); public async Task UseLockAsync() { // AsyncLock can be locked asynchronously using (await _mutex.LockAsync()) { // It's safe to await while the lock is held await Task.Delay(TimeSpan.FromSeconds(10)); } } 这个栗子的效果是如果有很多用户同时访问进来,里面的内容会 one by one 执行,不会出现同时执行的情况。 Read more

1