社区
C#
帖子详情
线程休眠导致界面假死?
xlh776216378
2012-04-09 11:02:06
我有个程序,采用的是单线程的方式,但是在取数据库表的时候怕CPU占用过高,使用了thread.sleep()方法,从而导致了界面假死的情况,请问有没有好的解决方法
...全文
201
11
打赏
收藏
线程休眠导致界面假死?
我有个程序,采用的是单线程的方式,但是在取数据库表的时候怕CPU占用过高,使用了thread.sleep()方法,从而导致了界面假死的情况,请问有没有好的解决方法
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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了。
骑着蜗牛去爬山
2012-04-09
打赏
举报
回复
查数据库跟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
易语言程序免安装版下载
修改扩展
界面
支持库三,解决高级选择夹会
导致
所在窗口的收不到“首次激活”事件的BUG,相应地修改了核心库和开发环境。 10. 为所有支持库文件统一添加了版本信息。 ------------------------------------------...
qt开启
线程
界面
假死
问题解决
发现一个问题,就是每个一段时间
界面
就
假死
,程序实际还在运行,指示
界面
卡住了,打印信息都正常,后来发现连接鼠标的话一动鼠标
界面
就恢复正常,但是也不会一直接着鼠标,卡死了就会认为真的死了,折腾了2天,累的...
C# Winform 窗体
界面
”
假死
”后台
线程
阻塞 解决办法–BeginInvoke
这个方法可以用在任何后台任务耗时较长,造成
界面
“
假死
”
界面
控件不更新的情况。 比如要要执行的数据库操作是几十万条的update语句,如果在click事件里阻塞或者做Thread.Sleep或一个耗时很长的操作,窗口就会无响应...
C# Thread.Sleep
界面
或程序卡死的问题解决方法
线程
阻塞
界面
界面
无法显示
很多初学者在写C#程序的时候,需要程序等待某个时间,但是又不想用比较繁琐的
线程
等操作,因此用Thread.Sleep()函数,但是这个函数在等待过程中会操作
界面
的卡死,那么,如何能保证既不卡死又能达到等待的功能呢?...
WPF
界面
假死
Thread.Sleep卡死的问题解决方法
在winform中用Application.DoEvents()可以解决,但是WPF没有.DoEvents()方法了,可以用如下代码代替: public static class DispatcherHelper { [SecurityPermissionAttribute(SecurityAction.Demand, Flags = ...
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章