进程与线程的区别和联系

1.概念

      进程:表示计算机系统资源分配的基本单位,也是在进行中的程序。例如在电脑上打开一个应用或者程序,电脑就会创建一个进程,并且给进程分配系统资源(内存空间、I/O设备、磁盘空间/各种表格等),然后让进程进入就绪队列等待进程调度,进入CPU后才算真正运行。

      线程:程序执行运算的最小单位,也是执行处理机调度的基本单位。线程可以在处理器上单独运行,这样就能方便有效的实现多处理器并发性。如果说把进程当作生产汽车的流水线,那么线程就是这条流水线的各个工序。

 

2.进程与线程的区别

     1.一个进程能有多个线程,一个线程只能属于一个进程。

      2.进程的资源开销大,线程的资源开销小。进程之间切换需要保留原有的CPU环境下设置新进程的CPU环境,创建、销毁进程也要申请和回收资源空间,在进程的切换、创建和销毁中,系统要付出较大的时空开销。而线程在此方面的开销远远小于进程。

      3.进程拥有独立的地址空间,线程没有独立的地址空间。

 

      4.进程是系统分配资源的基本单位,它拥有自己的资源空间,而线程是共享进程的所有资源,但是它本身并不拥有系统资源。

 

3.进程与线程的联系

        1.进程与线程是包含与被包含的关系,一个进程最少有一个线程,而一个线程只能属于一个进程,这既是它们的区别,也是它们的联系。

        2.系统将资源分配给进程后,进程内的所有线程能够共享进程的资源,比如内存空间、磁盘空间、I/O设备、地址空间等。

        3.同一个进程内的线程切换不会引起进程的切换,但是不同进程的线程切换会引起进程切换,且要进行线程的信息同步。

posted @   cv程序人  阅读(416)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示