|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
C++论坛
→
『 VC++/MFC 』
→ 关于多线程的一个问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1019
人关注过本帖
标题:
关于多线程的一个问题
只看楼主
加入收藏
邵帅
等 级:
贵宾
威 望:
20
帖 子:174
专家分:505
注 册:2012-8-27
结帖率:
78.26%
楼主
收藏
已结贴
√
问题点数:20 回复次数:8
关于多线程的一个问题
对于同时运行的多个线程,当一个线程得到cpu时间后,除非sleep(不考虑销毁),否则其他线程是不会有机会执行的。
我在一个线程让他:sleep(5000);结果发现程序每隔5秒卡一下。。郁闷。
而如果sleep(50),就不会卡,求解释。
搜索更多相关主题的帖子:
sleep
2013-03-04 08:51
举报帖子
使用道具
赠送鲜花
wp231957
来 自:神界
等 级:
贵宾
威 望:
423
帖 子:13688
专家分:53332
注 册:2012-10-18
第
2
楼
收藏
得分:0
5000不就是相当于5秒吗
50 相当于0.05秒 估计肉眼就感觉不到了
DO IT YOURSELF !
2013-03-04 09:01
举报帖子
使用道具
赠送鲜花
邵帅
等 级:
贵宾
威 望:
20
帖 子:174
专家分:505
注 册:2012-8-27
第
3
楼
收藏
得分:0
回复 2楼 wp231957
?
首先为什么5秒的时候会卡呢?只是让这个线程交出cpu控制权5秒,不该会卡啊?
Figure out what you like. Try to become the best in the world of it.
2013-03-04 09:06
举报帖子
使用道具
赠送鲜花
wp231957
来 自:神界
等 级:
贵宾
威 望:
423
帖 子:13688
专家分:53332
注 册:2012-10-18
第
4
楼
收藏
得分:0
5秒还不卡吗
5秒是一个很长的时间概念啊
DO IT YOURSELF !
2013-03-04 09:06
举报帖子
使用道具
赠送鲜花
邵帅
等 级:
贵宾
威 望:
20
帖 子:174
专家分:505
注 册:2012-8-27
第
5
楼
收藏
得分:0
那应该是这个线程卡,而不是界面线程卡啊。
Figure out what you like. Try to become the best in the world of it.
2013-03-04 09:11
举报帖子
使用道具
赠送鲜花
yuccn
来 自:何方
等 级:
版主
威 望:
167
帖 子:6815
专家分:42393
注 册:2010-12-16
第
6
楼
收藏
得分:0
sleep 后,就会有线程切换了,卡的原因是因为你sleep的线程是UI线程.
你在非UI线程sleep就不感觉卡了.
多线程程序中,一般都是把工作的事情放多非UI线程的.这样在事件等待的时候,就不会使用户感觉卡,体验上给用户人性.
UI线程sleep 不到一秒都不会有很明显的感觉卡的.
我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-03-04 10:15
举报帖子
使用道具
赠送鲜花
邵帅
等 级:
贵宾
威 望:
20
帖 子:174
专家分:505
注 册:2012-8-27
第
7
楼
收藏
得分:0
回复 6楼 yuccn
UI线程就是指包含界面更新代码的线程吗?
我建了一个线程用来接收socket发来的数据,并根据数据来更新界面。
Figure out what you like. Try to become the best in the world of it.
2013-03-04 11:15
举报帖子
使用道具
赠送鲜花
yuccn
来 自:何方
等 级:
版主
威 望:
167
帖 子:6815
专家分:42393
注 册:2010-12-16
第
8
楼
收藏
得分:20
是的 UI线程 就是指界面线程,user interface
“我建了一个线程用来接收socket发来的数据,并根据数据来更新界面。”
子线程接受和发送数据就行了,没有必要子线程来更新界面。。更新界面有UI线程做就行了
子线程接受到数据,通过消息发送给给主窗口,由ui线程来刷新窗口就行了。子线程更新窗口这个是很挫的设计,一般都不会这样设计的。不然,子线程在操作窗口,UI线程也在操作窗口,会乱的
我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-03-04 12:17
举报帖子
使用道具
赠送鲜花
邵帅
等 级:
贵宾
威 望:
20
帖 子:174
专家分:505
注 册:2012-8-27
第
9
楼
收藏
得分:0
回复 8楼 yuccn
说的是,多谢。
Figure out what you like. Try to become the best in the world of it.
2013-03-04 12:40
举报帖子
使用道具
赠送鲜花
9
1/1页
1
快速回复:
关于多线程的一个问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.051274 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved