进程:进程是线程的容器,系统的调度单位是线程,程序的线程需要在CPU核上的线程上跑
CPU的指的是CPU可以同时运行的线程数量,是可以同时执行的代码路径数量,程序中的表示你实际用到的,如果程序的线程数多于CPU的线程数,那敢并不是真正的并行,各线程会占用在一个很短的时间片里依次得到执行,用户看似是同时运行的
线程是操作系统进行资源调度的单位,
怎么理解呢:
一个进程有100行代码
现在两个执行方法
1.100行代码由cpu派一个线程去执行代码
2.100行代码给进程安排了4个入口,cpu自己根据闲置的线程来搬运代码
3.这个电脑cpu物理硬件,一个cpu可以由多个独立cpu核心单元(即运行工厂)
结果是:
1.4个工厂在等线程搬运代码过来
综上
线程是操作系统进行资源调度的单位,
进程是一个由自己独立地址的空间载体,真正运行的功能是进程,进程和线程都是操作系统去调度的,进程本身不负责调度线程
扩展阅读原文地址:http://www.dn580.com/dnzs/dncs/2013/10/08/172948914.html