线程休眠导致界面假死?

xlh776216378 2012-04-09 11:02:06
我有个程序,采用的是单线程的方式,但是在取数据库表的时候怕CPU占用过高,使用了thread.sleep()方法,从而导致了界面假死的情况,请问有没有好的解决方法
...全文
201 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
猫熊 2012-04-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
单线程还Sleep不卡你卡谁啊。

取数据库表的时候怕CPU占用过高

楼主还真是有幽默感呢。

[/Quote]单线程还Sleep不卡你卡谁啊。

程序都是一步一步的走的,

取数据时,可以弹出提示加载;
这样友好点
猫熊 2012-04-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
单线程还Sleep不卡你卡谁啊。

取数据库表的时候怕CPU占用过高

楼主还真是有幽默感呢。
[/Quote]

单线程还Sleep不卡你卡谁啊。

cheng2005 2012-04-09
  • 打赏
  • 举报
回复
单线程还Sleep不卡你卡谁啊。

取数据库表的时候怕CPU占用过高

楼主还真是有幽默感呢。
www7788softcom 2012-04-09
  • 打赏
  • 举报
回复
取数据库表的时候怕CPU占用过高?????
那你就取消sleep()呗
取个数据表不太大的话用不着考虑这些
orochiheart 2012-04-09
  • 打赏
  • 举报
回复
貌似是用委托吧 。。
勿勿 2012-04-09
  • 打赏
  • 举报
回复
单线程 Sleep 就是卡了、你这样做更不就不用sleep了。
  • 打赏
  • 举报
回复
查数据库跟cpu有啥关系?
内存4G,cpu2.7Ghz查十万条记录所用的时间恐怕比内存256M,cpu1.2Ghz查一万条记录所用的时间都要少很多

如果数据量实在是太大,可以异步查询或者多开几个线程帮忙查询
book_ldzsl 2012-04-09
  • 打赏
  • 举报
回复
取数据的操作放在一个新的线程中,这样不会导致UI线程阻塞。在用新线程去变更UI界面一个的控件,这样看上去就不会假死了
dreamrising 2012-04-09
  • 打赏
  • 举报
回复
自动查表频率低可用定时器;自动查表频率高,sleep(1)就足够
mabaolin 2012-04-09
  • 打赏
  • 举报
回复
增加线程处理数据,然后显示到界面控件上。
淡默 2012-04-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
取数据库表的时候怕CPU占用过高,使用了thread.sleep()方法
[/Quote]
我再也不相信爱情了
查数据库跟cpu有毛线关系?就算数据量大,是内存方面的事吧?好吧暂且认为cpu占用过高,既然都占用过高了,你还不让他尽快跑完,还sleep什么?
想不卡的话,用委托,异步读取绑定等处理数据,像楼上说的,界面友好点就显示正在加载,在委托的回调里,数据处理完以后,将正在加载的图片文字隐藏就ok

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧