IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    C#里await Task.Run死锁的分析与解决

    caimouse发表于 2025-01-17 15:06:44
    love 0
    需要再次使用int bytesLoaded = await downloading,也就是调用await获取结果再次异步,在这段代码里,GetResAsync()函数是使用await Task.Run来等线程任务执行返回一个字符串结果。第二种是返回结果不要直接等结果,采用再一次异步等结果,即是await res.Result。执行res.Result时,需要等线程执行结果,它采用一个wait函数等线程完成。因为在前面await Task.Run已经在等线程去执行,这时就会造成死锁。这样返回字节的结果。


沪ICP备19023445号-2号
友情链接