大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
用async做一个多线程下载并在datagridview中即时更新,运行时在达到4个线程同时下载时界面卡顿,多次尝试后是不知道async与await线程调用顺序造成。
创新互联是一家专注于成都网站建设、做网站与策划设计,嘉荫网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:嘉荫等地区。嘉荫做网站价格咨询:18980820575
进入async方法后在调用await之前代码都在主线程(调用线程)中运行,调用await时及之后的async方法代码将另起线程运行该部分代码,而主线程在遇到await后回到主线程继续执行async后的代码。
将async方法通过声明委托后用begininvoke调用后解决。
过了一段时间再看又忘了,遇到一个async方法中前后调用两次await,我不知作何解释,目前我的理解是运行第一个await后的方法将开启新线程,后面的代码要等第一个await方法运行完后,后面的代码将接着该线程运行下面的代码,直到遇到第二个await后将开启新线程运行第二个await里的方法,第二个await方法后的代码将等待第二个await方法运行完成后接着第二个await的线程继续运行下面的代码。