MyException - 我的异常网
当前位置:我的异常网» VC/MFC » 操作时间较长导致界面卡住如何解决

操作时间较长导致界面卡住如何解决

www.MyException.Cn  网友分享于:2013-04-27  浏览:63次
操作时间较长导致界面卡住怎么解决?
对话框里有一个按钮,一个edit,点击按钮做一个操作,并把操作结果保存为文件,然后将文件内容读出并显示在edit里,但是这个操作时间比较长,导致点击按钮后界面就卡住了,怎么解决?希望说的详细些~

------解决方案--------------------
另起一个线程,用来做显示
------解决方案--------------------
开线程处理啊。如果文件内容过大的话很你的主线程会死掉的。
------解决方案--------------------
异步io
------解决方案--------------------
开一个线程吧。
------解决方案--------------------
多线程吧~
------解决方案--------------------
将大比量的数据访问,改成小批量的多次访问..或开一个工作者线程,绕开UI线程(主界面线程)
------解决方案--------------------
多线程。。。。。。。
------解决方案--------------------
耗时间的处理跟界面处理得分开,如果都在同个线程处理肯定会卡。楼主可以将文件处理放另个线程去做,做完了再通知界面就行。
------解决方案--------------------
开线程吧,我做的项目也是保存一个文件时间过长,导致用户浪费不少时间等待,然后开个线程去保存文件,同时用户可以继续操作
------解决方案--------------------
推荐异步IO
------解决方案--------------------
使用工作线程,简单又方便!
------解决方案--------------------
异步处理。
多线程用不好会更慢。
------解决方案--------------------
另开一个线程用于处理费时的操作,处理完后给界面线程发送消息通知就可以了
------解决方案--------------------
支持新开一个工作线程。需要代码的话说一声。
------解决方案--------------------
开一个(工作者线程,区别界面的用户线程)线程,把数据搞到内存后在刷新到界面上
------解决方案--------------------
可以异步处理,或是弄个进度条显示处理的进度·
------解决方案--------------------
大数据量显示到edit里确实会卡,可以考虑用一些更为强大的编辑控件。

------解决方案--------------------
在操作函数中(比如循环),定期调用以下代码:

while(GetMessage()){
TranslateMessage();
DispatchMessage();
}

主要是,在处理操作过程中,然主线程从消息队列获取消息,并处理消息,保证界面正常刷新。
楼上的一些异步IO,完成端口的建议,需要改动较大,
------解决方案--------------------
开线程处理。
------解决方案--------------------
要明白界面线程只有一个的原因是因为人的反应极限是20ms, 也就是说20ms后另一次键盘按下就会发生.
如果计算机每个动作都只要20ms之内完成,那自然可以不用开线程.
问题是预想的操作都是键盘消息都是前一次处理完要用户看到后才会处理下一个动作
------解决方案--------------------
多线程
------解决方案--------------------
_beginthreadex

文章评论

程序员和编码员之间的区别
程序员和编码员之间的区别
我是如何打败拖延症的
我是如何打败拖延症的
总结2014中国互联网十大段子
总结2014中国互联网十大段子
漫画:程序员的工作
漫画:程序员的工作
 程序员的样子
程序员的样子
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
编程语言是女人
编程语言是女人
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
鲜为人知的编程真相
鲜为人知的编程真相
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
中美印日四国程序员比较
中美印日四国程序员比较
一个程序员的时间管理
一个程序员的时间管理
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
如何成为一名黑客
如何成为一名黑客
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
10个调试和排错的小建议
10个调试和排错的小建议
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
代码女神横空出世
代码女神横空出世
程序员都该阅读的书
程序员都该阅读的书
每天工作4小时的程序员
每天工作4小时的程序员
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
Java程序员必看电影
Java程序员必看电影
程序员的鄙视链
程序员的鄙视链
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
我的丈夫是个程序员
我的丈夫是个程序员
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
老程序员的下场
老程序员的下场
那些争议最大的编程观点
那些争议最大的编程观点
程序员必看的十大电影
程序员必看的十大电影
程序员应该关注的一些事儿
程序员应该关注的一些事儿
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
为什么程序员都是夜猫子
为什么程序员都是夜猫子
旅行,写作,编程
旅行,写作,编程
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有