MFC多线程

书上例子是个排火车的游戏。计算机和人轮流出牌,出的牌不分花色,是随机的1到13中之一。出的牌个上面一张大小一样,那么两张牌之间的牌都归你。玩到一方没牌。书里计算机和人各一... 书上例子是个排火车的游戏。计算机和人轮流出牌,出的牌不分花色,是随机的1到13中之一。出的牌个上面一张大小一样,那么两张牌之间的牌都归你。玩到一方没牌。书里计算机和人各一个线程,但是我觉得不用这样也能行啊。多线程的好处在哪里? 展开
 我来答
craining
2010-10-27 · TA获得超过320个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:172万
展开全部
我就比较喜欢用多线程, 最简单的想法就是效率高, 比如, 我们只用一个主线程在一个程序里, 每一个时刻都在做一件事情; 而如果我们开辟了多个线程的话, 就可以在同一时刻做多件事情而互不干扰, 各自完成各自的工作。
多线程就好比多任务的操作系统, 同一时刻我们既可以听音乐又可以上网, 而单线程就好比单任务的, 我们需要听完音乐再去上网, 这样花费的时间久很多了。
再比如说, 你的程序里需要不断的更新某项数据, 那你就可以为它开辟一个线程, 让它无限循环着每隔一段时间就在后台进行一次更新操作, 而主线程仍跟用户不间断的交互着, 线程是不是很方便呢?
我是这么理解的。

线程还有个地方是比较通用的, 比如我们的程序中, 有个功能的实现比较耗时, 比如读取庞大的数据库中的信息,并对数据进行计算等操作, 这个耗时比较大, 那么我们就要给它开辟一个线程, 让它在后台进行, 主线程正跟用户做着其他事情的时候, 这个线程便悄悄从后台对数据进行了处理了, 这样用户就不必干等着了,感觉不到你程序运行的慢了; 一般超过5秒的等待时间都要为它开辟一个线程。

就说这么多了~~
gww1bd
2010-10-27 · TA获得超过303个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:0
展开全部
你这个应该是网络程序吧。。。?

确实可以不用多线程,用异步网络通讯模式,不会在等待接收数据时阻塞,也省去了线程同步的麻烦。只不过你说的这个例子用多线程写起来简单一点,在线程里阻塞接收消息,一个线程处理固定的某个人的消息,结构简单。

对于单核计算机来说,每个时间点都只有一个线程在运行,CPU不停切换线程使每个线程都有机会运行。
现在计算机多核已经很普遍了,多线程可以充分发挥CPU的效率,多个线程可以由多个CPU核同时运行,速度更快。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式