C#多线程使程序变龟速
为什么每次写个程序,虽然界面很卡,但是至少卡一会儿就出来了算完了,要是我添加了多线程,能实时通过状态条更新运行状态,那么程序就会运行非常慢,不知道什么原因。
抑或是我使用多线程的方式不对还是怎么地?我是使用的一般的方法开的新线程如下
[解决办法]
MyFunction()不贴出来,别人怎么帮你分析
[解决办法]
状态条更新太频繁吧。。。如果一个只要10秒就能执行完的程序,你不停的去更新刷新UI,可能就要几分钟了。
[解决办法]
你代码编写的有问题吧,更新那块的代码贴上来看下。
[解决办法]
你就别显示进度条了,另外thread.IsBackground?=?true;去掉,让它跑足了资源。
[解决办法]
如果数据量很大,运算以很快,就没必要实时更新状态了
可以间歇性的(比如每运算了100个数据)更新一下界面,视觉上也区分不了闪得太快的的东西
搜索一下BackgroudWork,支持取消,已经封装好了
[解决办法]
前台线程的优先级略高于普通线程,所以如果你过于频繁地更新界面,自然会争用其他线程的CPU时间
[解决办法]
是你整个更新行为那块的代码。你把你MyFunction的代码贴出来,把你业务相关的省略掉,线程及更新相关的给出来就可以了
[解决办法]
这个看上去简单,但是他执行了ui的动作,如果调用过于频繁,那效果只会更差。
[解决办法]
为什么每次写个程序,虽然界面很卡。
说明你的机器太差了。。。。。。居然每次都会。