DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录.
  • DmozDir.org
DMOZ目录快速登录入口-免费收录各类优秀网站的中文网站目录.由人工编辑,并提供网站分类目录检索及地区分类目录检索,是站长免费推广网站的有力平台!

C#/WPF 使用的Task线程程序缺依旧响应缓慢问题

  • C#/WPF 使用的Task线程程序缺依旧响应缓慢问题

  • 已被浏览: 21 次2020年10月26日    来源:  https://www.cnblogs.com/Huzi-note/p/13880791.html
  • 问题:C#/WPF 使用的Task线程程序缺依旧响应缓慢问题摘要:相信很多做WPF的开发者在请求接口的时候会去采用开一个线程Task去请求接口。避免UI卡主等等。但有一个问题是但开的线程比较多的情况下程序会卡主一段小时间。环境:WPF、W

    问题:C#/WPF 使用的Task线程程序缺依旧响应缓慢问题

    摘要:相信很多做WPF的开发者在请求接口的时候会去采用开一个线程Task去请求接口。避免UI卡主等等。但有一个问题是但开的线程比较多的情况下程序会卡主一段小时间。

    环境:WPF、Win7 四核。

    了解Task的使用机制

    先上一个环境图:

    从图片可以看出机子是四核的Cpu。业务逻辑是从登录到主页的数据全部显示。根据产品的需求,业务的完全展示需要请求大概8个接口。一开始我采用的都是接口同步的情况去请求,然后由于同步导致UI卡顿的原因要求我优化程序。因此我就将方法改为异步请求并且在外层包裹一个Task。然后重点就来,这个Task是真的香,用起来还不错。O(∩_∩)O哈哈~ 然后问题就随之而来了。我的电脑由于是八核的,所以请求起来都还算挺流畅。但有一台测试机就是会卡顿,但平时用起来也好好的搞得我是焦头烂额。后来去一步步排查发现但我Task越用越多的时候,程序忽然就变得慢慢的卡起来。这时候才明确的找到问题的所在。就是Task用得太多了。通俗易懂来讲呢,Task并不是万能的,它其实可以说是在透支这电脑或者程序的性能,来提高效率。因此对于Task的运用一定得合理。否则Task这么香为何不多用几个Task。

    如何实际去运用它

    首先得对业务逻辑进行拆分,分为重要模块和次要模块。对于重要模块优先去进行处理和显示再来对这些次要模块进行处理。比如主页的一些展示用的数据列比较重要可以对他进行优先操作。对于一些头像啊、名称啊、等级啊。等等次要模块可以稍微的给他延后显示,因为用户一进来可能关注的是你首页重要的数据是否展示完整了。因此合理的去运用Task能有效的提高系统的性能。过多的使用可能会导致性能的下降。

    最后

    希望对大家有所帮助,还有什么问题可以在下方留言。谢谢!

     


    以上信息来源于网络,如有侵权,请联系站长删除。

    TAG:线程 缓慢 程序 WPF Task

  • 上一篇:四旋翼飞行器的Simulink仿真与PD串级控制轨迹跟踪仿真
  • 与“C#/WPF 使用的Task线程程序缺依旧响应缓慢问题”相关的资讯
  • 省钱兄(微信小程序、h5版本)uniapp淘宝客小程序源码商城前端源码
  • python应用(2):写个python程序给自己用
  • 43、并发编程之多线程实操篇
  • Thread.start() ,它是怎么让线程启动的呢?
  • 早安打工人! 来把你的.NET程序模块化吧