黑马程序员技术交流社区

标题: 多线程概念问题 [打印本页]

作者: 天外的星    时间: 2014-5-13 12:18
标题: 多线程概念问题
本帖最后由 天外的星 于 2014-5-13 15:54 编辑

两个进程QQ和迅雷,QQ里面有多个线程,迅雷里面也有多个线程,如果两个进程都是打开的。我知道一个进程里面的线程是交替执行的,那么qq里面的一个线程和迅雷里面的一个线程能不能同时执行?


作者: 屈_zi    时间: 2014-5-13 14:18
对于Cpu而言,QQ的线程和迅雷的线程,他们看起来都是一样的,都是采用统一的管理方式。一个Cpu上同一时刻只能有一个线程在运行,因此是运行QQ的线程还是迅雷的线程,要看操作系统对于线程运行的调度和线程运行时间分配。当只有一个Cpu时,无论有多少个线程,当前时刻都只有一个线程被执行;有多个Cpu则,被执行的线程与Cpu的个数相同。
作者: 张益达    时间: 2014-5-13 17:22
显然是不能的 但是要参照CPU的数量来决定  当CPU是单核的时候 系统会在线程中做快速的切换   快到你根本看不清楚他什么时候进行切换的 。但是多核的时候就是真正的两个程序中两条线程同时在实行
作者: KevinSmart    时间: 2014-5-13 21:27
如果是多个CPU的话,是可以同时执行的,如果是单个CPU是不行的,建议楼主看一下《计算机操作系统原理》这本书,就会什么都明白了
作者: 天外的星    时间: 2014-5-14 08:01
KevinSmart 发表于 2014-5-13 21:27
如果是多个CPU的话,是可以同时执行的,如果是单个CPU是不行的,建议楼主看一下《计算机操作系统原理》这本 ...

谢谢推荐




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2