试图弄清楚为什么这段代码会挂起。我可以删除测试底部的 3 行中的任何一个,它不会挂起,但所有 3 行一起使它挂起。任何帮助将不胜感激!
[Fact]
public async Task CanAddValuesInParallel() {
var muxer = ConnectionMultiplexer.Connect("localhost");
var db = muxer.GetDatabase();
await AddAsync(db, "test", "1");
await db.KeyDeleteAsync("test");
Task.Run(() => AddAsync(db, "test", "1")).Wait();
}
public async Task<bool> AddAsync(IDatabase db, string key, string value) {
return await db.StringSetAsync(key, value, null, When.NotExists);
}