| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1019 人关注过本帖
标题:关于多线程的一个问题
只看楼主 加入收藏
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
结帖率:78.26%
收藏
已结贴  问题点数:20 回复次数:8 
关于多线程的一个问题
对于同时运行的多个线程,当一个线程得到cpu时间后,除非sleep(不考虑销毁),否则其他线程是不会有机会执行的。
我在一个线程让他:sleep(5000);结果发现程序每隔5秒卡一下。。郁闷。
而如果sleep(50),就不会卡,求解释。
搜索更多相关主题的帖子: sleep 
2013-03-04 08:51
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
5000不就是相当于5秒吗

50 相当于0.05秒 估计肉眼就感觉不到了

DO IT YOURSELF !
2013-03-04 09:01
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
收藏
得分: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
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
5秒还不卡吗  5秒是一个很长的时间概念啊

DO IT YOURSELF !
2013-03-04 09:06
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
收藏
得分:0 
那应该是这个线程卡,而不是界面线程卡啊。

Figure out what you like. Try to become the best in the world of it.
2013-03-04 09:11
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
sleep 后,就会有线程切换了,卡的原因是因为你sleep的线程是UI线程.

你在非UI线程sleep就不感觉卡了.
多线程程序中,一般都是把工作的事情放多非UI线程的.这样在事件等待的时候,就不会使用户感觉卡,体验上给用户人性.
UI线程sleep 不到一秒都不会有很明显的感觉卡的.

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-03-04 10:15
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
收藏
得分: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
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:20 
是的 UI线程 就是指界面线程,user interface

“我建了一个线程用来接收socket发来的数据,并根据数据来更新界面。”

子线程接受和发送数据就行了,没有必要子线程来更新界面。。更新界面有UI线程做就行了
子线程接受到数据,通过消息发送给给主窗口,由ui线程来刷新窗口就行了。子线程更新窗口这个是很挫的设计,一般都不会这样设计的。不然,子线程在操作窗口,UI线程也在操作窗口,会乱的

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-03-04 12:17
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
收藏
得分:0 
回复 8楼 yuccn
说的是,多谢。

Figure out what you like. Try to become the best in the world of it.
2013-03-04 12:40
快速回复:关于多线程的一个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028426 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved