我正在阅读这篇关于死锁的文章,我尝试使用自己的代码,它没有死锁问题。为什么?
我期待:
GetJsonAsync
完成等待并即将返回jsonString
Main
正在执行并保留上下文jsonTask.Result
GetJsonAsync
想要返回,直到上下文可用jsonString
死锁将会发生
public static void Main(string[] args)
{
var jsonTask = GetJsonAsync();
int i = jsonTask.Result;
Console.WriteLine(jsonTask.Result);
}
public static async Task<int> GetJsonAsync()
{
var jsonString = await ReturnIntAsync();
return jsonString;
}
public static async Task<int> ReturnIntAsync()
{
int i = 0;
await Task.Run(() => i++);
return i;
}
慕后森
相关分类