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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© startrek36 初级黑马   /  2015-4-23 13:30  /  840 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

毕老师在讲多线程这一章时,引入了一个迅雷下载的例子。
说是五个人一起搬箱子效率会高一些
可是按照前面CPU快速切换的原理,所谓的五个人一起搬,也只不过是CPU一会搬这个,一会搬那个,最后不是等于还是一个人搬的吗?怎会提高效率呢?

5 个回复

倒序浏览
你可以这么理解,cpu是只有一个,但是计算机系统里面的线程可不仅仅只有你当前运行的程序里面的线程而已,也有其他的程序也在共享cpu的资源,如果线程多一点,获得cpu的资源也就多一点,效率当然提高了啊
回复 使用道具 举报
1,没有多线程,第1个人搬完2再去搬,依此类推,程序启动时间对你来说看不出来,对cpu来说差别太大了。2、有多线程。同时启动了,切换时间很快,对cpu来说同样的时间内执行的东西可以更多。单核区别好像不是很大,双核或多核差别就很大了,我的理解。
回复 使用道具 举报
1、多核;2、占用CPU的几率会变大
回复 使用道具 举报
本帖最后由 JarryHorse 于 2015-4-23 19:03 编辑

可以这么理解,CPU相当于一个加工数据的机器,内存相当于物料仓,线程就是搬运工,将物料仓(内存)中的物料搬给机器(CPU)加工,当只有一个线程的时候,线程搬过来一次CPU就加工一次,然后线程还要把数据搬回内存,再在内存中再搬数据过去···,但是有多个线程就是排着队找CPU加工数据(就算不是整齐排队的,CPU也是一直在不停的干活的),加工完再一顿往内存里面存,这样是不是比原来单个线程快多啦,这样好理解不?
回复 使用道具 举报
不懂不明白????
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马