书蠡 2015-03-03 05:51 采纳率: 0%
浏览 5136

初次使用Task<TResult>关于阻塞主线程求指教

做了一个winform程序,点击一个按钮需要调用一个复杂耗时的方法,总是造成主界面卡死,据说Task可以解决此类情况,就上网查资料模仿,后来发现还是卡死,代码段如下:
City ct = (City)cbxCity.SelectedItem;
bool checkCom = cBoxDisCom.Checked;
Task t = null;
t = new Task(() => ImportService.FilterForRaw2(dt, ct, checkCom));
t.Start();
t.Wait();
dgvExportData.DataSource = t.Result.Tables[1];
dgv1.DataSource = t.Result.Tables[0];
请问有没有办法可以既获取Task产生的结果t.Result,又不会造成主线程阻塞

  • 写回答

3条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2015-03-03 06:04
    关注

    那就不要wait,自己开一个线程,线程中做完事情,委托通知UI

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器