用async做一个多线程下载并在datagridview中即时更新,运行时在达到4个线程同时下载时界面卡顿,多次尝试后是不知道async与await线程调用顺序造成。
进入async方法后在调用await之前代码都在主线程(调用线程)中运行,调用await时及之后的async方法代码将另起线程运行该部分代码,而主线程在遇到await后回到主线程继续执行async后的代码。
将async方法通过声明委托后用begininvoke调用后解决。
本文出自 “volvo之悦” 博客,请务必保留此出处http://volvo9yue.blog.51cto.com/12265053/1871462
原文地址:http://volvo9yue.blog.51cto.com/12265053/1871462