一次性区分线程与进程在程序执行中的关系

一直不能区分线程是CPU调度和分配的基本单位,进程是操作系统进行资源分配的最小单位的关系,下面这段话是从一片博文中摘抄的,让我几周以来的模糊认识一下子清晰起来,希望对大家理解有帮助,原博文地址在前一篇文章中已贴出,好文章读起来真是受益匪浅,原文如下:

 线程是CPU调度和分配的基本单位,一定要和 进程是操作系统进行资源分配(包括cpu、内存、磁盘IO等)的最小单位 区别清楚。有句话说CPU只能看到线程,可以这么理解,假设我是CPU,我闭着眼,操作系统调度器将一个进程分配给我之后,我拿到进程睁开眼,我看到的是什么?我看到的是进程中的很多线程,那么我现在能调度和分配的是什么?进程?不行,因为我看不到其他进程,何来调度分配,只能调度我看到的那些线程,如果我是4核的话,把线程ABCD分配到核心1234,其他的线程依然要等待分配,至于等待多久,如何分配,暂不在本文讨论范围。于是线程是CPU调度和分配的基本单位。

猜你喜欢

转载自blog.csdn.net/chunfangzhang/article/details/84477053