Winform 异步async防止UI线程阻塞的方法

 时间:2024-10-27 19:00:32

1、以一个Http请求收发程序为例子,使用了System.Net中的类。要使用异步方法,需要引用System.Threading。

Winform 异步async防止UI线程阻塞的方法

3、在async声明的方法中,就可以使用await关键字了。如果await右边的同样是一个异步方法需要等待,那么这段程序(button1_click)会在await处暂停等待,进程则会回到UI进程继续处理其它事情,当await等待完毕,进程再从UI进程回到这里继续执行。

Winform 异步async防止UI线程阻塞的方法

5、如图是一些函数对应的异步版本。这些异步版本和同步版本的区别是,创建了线程并等待线程信号。使用async和await方便了我们进行任务切换,但是追根溯源,每一个异步方法的根源上总是有新线程的创建。

Winform 异步async防止UI线程阻塞的方法

7、在async异步方法中,就可以方便的更新进度条了。注意,只有将所有耗时较长的异步方法调用都使用await关键字,才能保证UI进程每次遇到等待都返回继续响应用户操作,而不是卡在【某某_click】之中。

Winform 异步async防止UI线程阻塞的方法
  • 如何手动强制关联默认文件打开方式程序
  • SQL 2008“阻止保存要求重新创建表的更改”
  • Ubuntu怎么移除删除已配对的蓝牙手机设备
  • 电脑打开58同城全是文字怎么办
  • 怎么设置在IE浏览器中显示混合内容?
  • 热门搜索
    什么是无损音乐 项羽是个什么样的人 支原体阳性是什么意思 sound是什么意思 公费师范生是什么意思啊 炯炯有神的意思 tg是什么意思 破绽的意思 吆喝的意思 督脉的作用