网络干货 ·

{干货}C#多线程&UI响应


C#多线程概念

使用BackgroundWorker组件后台循环任务,少量UI更新,使用批量上传文件,并提供进度条

耗时的后台任务:这里的耗时任务是指一个时间较长的任务,并且不能精确获取进度

耗时的UI任务:当工作压力集中在UI响应上时,可以在工作者线程中增加延时,从而让UI线程获得响应时间

后台的循环任务,少量UI更新

使用BackgroundWorker组件是最好的选择

后台耗时任务

在后台执行一个不可分解的耗时任务,需要进行界面更新,以便让客户看上去程序有所响应。这种情况下,UI线程一般也不知道工作线程何时结束,所以一般执行循环任务,当工作线程结束后,关闭UI线程就可以了。

耗时的UI任务

当整个工作压力集中在UI响应上时,可以在工作者线程中增加延时,从而让UI线程获得响应时间。整个工作的总体时间会增加,但用户响应效果会好很多。

参与评论