欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
晴天 C#同步代码中调用async异步方法.Result等待导致阻塞死锁deadlock的问题   [ 2023-12-17  | C# .Net编程  |  本站原创 ]
在 UI界面或者ASP.NET的同步代码中调用async的异步代码时如果async和task.Result混用会出现线程被阻塞锁死deadlock的情况。
导致死锁的例子代码:
public static async Task GetWebPageAsync(string uri)
{
//这里的 client 是全局初始化的 HttpClient 对象
return = await client.GetStringAsync(uri);
}

public void Button1_Click(object sender, EventArg e)
{
var webTask = GetWebPageAsync("_get_url_");
textBox1.Text = webTask.Result;
}



阅读全文……
作者:rick  | 分类:C# .Net编程  | 评论:0  | 引用:0  | 查看:767

PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 4 queries    京ICP备17058477号-5