在CPU中同一个时间点是不是只执行一条线程,双核或者多核是不是多线程?

来源:百度知道 编辑:UC知道 时间:2024/06/08 07:59:31
不要随便的拷一堆过来啊,只要把自己知道的说说,说清楚就行

呵呵,CPU在某一个时间点上确实只能执行一个线程,但是多线程不是由于多核或者双核才叫多线程。是由于,很多个线程在并行执行的时候,CPU根据一定的线程调度算法,频繁的进行线程切换,当正在执行的一个线程需要进行IO操作或者需要访问内存的时候,CPU完全可以放弃该线程,转而调度线程就绪队列上的其他线程,被放弃的线程则进入阻塞状态,IO操作或者访问内存操作结束之后,该线程可以进入线程就绪队列上。
人们通常意义上的多线程指的是,由于CPU根据一定的线程调度算法来切换线程,所以在一个时间段上,可以看做很多线程在并发执行。其实还是在某一个时间点上只有一个线程在运行罢了。

不错CPU在同一时间点是只能执行一条线程的,不过它转换各个线程的时间快到难以察觉,所以给人一种能同时执行多个任务的错觉.
双核和多核也不是多线程的它只不过是指在一个处理器上集成两个运算核心,从而提高计算能力.原理是一样的

没错,CPU采用的是类似于时间片轮转的机制,也就是说同一时间一条进程提出执行请求时,其他进程只能等待它执行完毕,CPU才会处理其他请求。其他进程相当于在排队等待中。当然了,为了避免某条进程无限制时间的执行,一般会限定一个时间,超时 的话,CPU转向执行下一条进程。
幸运的是,现在的CPU频率都比以前高了,所以不会卡。多核的话,每个核心都是同样的原理。但是两个核心就可以通过系统分配资源,同时执行不同的进程,这个就更复杂了。不是三言两语可以解释的。
每条进程都有CPU分配的进程号的。避免混乱。
不知这样说你明白没有?