A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Miss小强 中级黑马   /  2013-4-23 19:37  /  4273 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Miss小强 于 2013-4-25 08:06 编辑

张老师的视频里面说:多线程不能提高程序执行效率;
而毕老师说多线程可以提高程序执行效率,
这个这个,我该听谁是啊。。。。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

12 个回复

倒序浏览
效率是肯定比单线程高这点肯定 你要说速度上那肯定不如单线程速度快
回复 使用道具 举报
效率和速度千万不能等同
多线程有时候是为了同时做一件事情,而创建的,其实计算机不可能同时运行两个线程,只是线程互相争夺罢了
从速度上来说,单线程速度绝对快些

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
楼上的都回答的不错,效率和速度是不能等同的.多线程的每个线程和单线程比的话,速度慢些,因此CPU是不能同时执行多条语句的,只不过多条线程同时抢CPU的资源,
  但是如果多条线程同时做一件事情,效率肯定高了!
回复 使用道具 举报
楼上说的的确很多...
这个得看你运行的任务了,要是多任务进行,建议多线程,这个安全,但是相对比较起来,效率就会降低
要是单线程任务,就不用考虑安全问题了,效率自然比多线程快
其实都是这样:要安全,就得损失点效率

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
~(@^_^@)~ 发表于 2013-4-23 21:25
楼上说的的确很多...
这个得看你运行的任务了,要是多任务进行,建议多线程,这个安全,但是相对比较起来,效率 ...

多线程会更安全?单线程效率更低???都被搞晕了。。。
回复 使用道具 举报
许兵兵 发表于 2013-4-23 21:00
楼上的都回答的不错,效率和速度是不能等同的.多线程的每个线程和单线程比的话,速度慢些,因此CPU是不能同时 ...

效率和速度对于CPU来说有什么区别吗?
CPU办事效率高,不就是说CPU执行效率高吗?
效率是办事又好又快;
速度是指办事快;
对于CPU来说,他还会把事情办砸了吗?
还是难以理解
回复 使用道具 举报
还是回去看看操作系统方面的书吧。。。
回复 使用道具 举报
Sword 金牌黑马 2013-4-24 12:01:55
9#
当在多个cpu的时候,计算机可以同时处理多个事件,多线程当然会快。
当只有一个cpu的时候,可能快也可能慢,你想想一个任务可以细分为多个子任务,每个都需要cpu资源和内存资源。
如果是单线程的话,你就只能等处理完一个子任务的时候才能接下去处理下一个子任务。而在多线程的情况下,你可以在第一个子任务用完cpu资源的时候,假如此时他只需要io资源(举个例子,比如说读写文件),这个时候在等待他处理的时候,可以同时处理第二个任务,孰快孰慢,自然就知道了。
当然多线程要用在合适的场景,有些时候是时候使用多线程,有些时候是不适合的。

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
多线程,可以做多件事,不只是毕老师单单讲的买票卖票,没有太多实际意思,只是为了理解多线程,更加形象点。
举个例子:就向360软件一样,可以同时清理垃圾、修复漏洞、安装程序。
这都是多线程的效果,如果单线程,清理垃圾的时候,就不能做别的了。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
多线程是为了同步完成多项任务,不是为了提高运行效率,而是为了提高资源使用效率来提高系统的效率。
线程是在同一时间需要完成多项任务的时候实现的.
回复 使用道具 举报
如果问题解决了,请将问题分类改为“已解决”,谢谢
回复 使用道具 举报
Miss小强 发表于 2013-4-24 08:11
效率和速度对于CPU来说有什么区别吗?
CPU办事效率高,不就是说CPU执行效率高吗?
效率是办事又好又快;

比如说,如果只用单线程,那么这个单线程的速度肯定要比多线程中每个线程的速度快.但是综合起来后,多线程同时做一件事情,那么这件事情就会效率高.   自己的理解.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马