using System.Threading.Tasks;
public static void Main()
await Task.Delay(TimeSpan.FromSeconds(2));
Console.WriteLine("Deadlocked?");
var asyncLock = new CellWars.Threading.AsyncLock();
for (var i = 0; i < 1000; ++i)
using (await asyncLock.LockAsync(CancellationToken.None))
using (await asyncLock.LockAsync(CancellationToken.None))
using (await asyncLock.LockAsync(CancellationToken.None))
Console.WriteLine("Not okay");