当前位置:   article > 正文

C#执行异步操作的几种方式总结比较_c# 异步跟task.run区别

c# 异步跟task.run区别

C#执行异步操作的几种方式总结比较

0x01 引言

之前写程序的时候在遇到一些比较花时间的操作例如HTTP请求时,总是会new一个Thread处理。对XxxxxAsync()之类的方法也没去了解过,倒也没遇到什么大问题。最近因为需求要求用DevExpress写界面,跑起来后发现比Native控件效率差好多。这才想到之前看到的“金科玉律”:不要在UI线程上执行界面无关的操作,因此集中看了下C#的异步操作,分享一下自己的比较和总结。

0x02 测试方法

IDE:VS2015 Community

.NET版本:4.5

使用函数随机休眠100到500毫秒来模拟耗时任务,并返回任务花费的时间,在UI线程上调用这个方法会造成阻塞,导致UI假死,因此需要通过异步方式执行这个任务,并在信息输出区域显示花费的时间。


主界面中通过各种不同按钮测试不同类型的异步操作


0x03 使用Thread进行异步操作

使用ThreadPool进行异步操

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/104601
推荐阅读
相关标签
  

闽ICP备14008679号