我有个程序,采用的是单线程的方式,但是在取数据库表的时候怕CPU占用过高,使用了thread.sleep()方法,从而导致了界面假死的情况,请问有没有好的解决方法
解决方案 »
- c#面试题,上海一家策划公司
- 无法将类型string 隐式转换ExtAspNet.CompareType
- 控件重绘问题
- C#(vs2008)写winform程序时如何为程序设置图标(也就是ICO文件)?
- C#进行Visio二次开发中显示了模型栏,请问怎么去掉形状栏上的右键菜单?
- 上一个贴子还没到一个小时,我已结贴了,在问一个,QQ大厅的显示是怎么实现的,一样给思路就行(一样一小时结贴)
- 状态栏的显示
- 水晶报表问题(winform c#)
- 求解在C#串口控件的一个问题
- winform下如何让子控件响应父控件的鼠标事件
- 急急,关于sqlite插入数据时,字符问题
- 麻烦哪位高手帮我看一下这个winform程序
那你就取消sleep()呗
取个数据表不太大的话用不着考虑这些
单线程还Sleep不卡你卡谁啊。
这样友好点
查数据库跟cpu有毛线关系?就算数据量大,是内存方面的事吧?好吧暂且认为cpu占用过高,既然都占用过高了,你还不让他尽快跑完,还sleep什么?
想不卡的话,用委托,异步读取绑定等处理数据,像楼上说的,界面友好点就显示正在加载,在委托的回调里,数据处理完以后,将正在加载的图片文字隐藏就ok
内存4G,cpu2.7Ghz查十万条记录所用的时间恐怕比内存256M,cpu1.2Ghz查一万条记录所用的时间都要少很多如果数据量实在是太大,可以异步查询或者多开几个线程帮忙查询