1.概念
进程:表示计算机系统资源分配的基本单位,也是在进行中的程序。例如在电脑上打开一个应用或者程序,电脑就会创建一个进程,并且给进程分配系统资源(内存空间、I/O设备、磁盘空间/各种表格等),然后让进程进入就绪队列等待进程调度,进入CPU后才算真正运行。
线程:程序执行运算的最小单位,也是执行处理机调度的基本单位。线程可以在处理器上单独运行,这样就能方便有效的实现多处理器并发性。如果说把进程当作生产汽车的流水线,那么线程就是这条流水线的各个工序。
2.进程与线程的区别
1.一个进程能有多个线程,一个线程只能属于一个进程。
2.进程的资源开销大,线程的资源开销小。进程之间切换需要保留原有的CPU环境下设置新进程的CPU环境,创建、销毁进程也要申请和回收资源空间,在进程的切换、创建和销毁中,系统要付出较大的时空开销。而线程在此方面的开销远远小于进程。
3.进程拥有独立的地址空间,线程没有独立的地址空间。
4.进程是系统分配资源的基本单位,它拥有自己的资源空间,而线程是共享进程的所有资源,但是它本身并不拥有系统资源。
3.进程与线程的联系
1.进程与线程是包含与被包含的关系,一个进程最少有一个线程,而一个线程只能属于一个进程,这既是它们的区别,也是它们的联系。
2.系统将资源分配给进程后,进程内的所有线程能够共享进程的资源,比如内存空间、磁盘空间、I/O设备、地址空间等。
3.同一个进程内的线程切换不会引起进程的切换,但是不同进程的线程切换会引起进程切换,且要进行线程的信息同步。
标签:开销,区别,线程,切换,进程,CPU,资源 From: https://www.cnblogs.com/HBB666/p/16824359.html