进程和线程的区别

Fanly 问答 2020-03-19 22:13:23 阅读(...)

进程与资源分配有关,进程有自己的独立地址空间,程序更加健壮,但是通信较麻烦,线程是资源调度的最小单位,是共享进程中的数据的,开销更小,通信更加便利。

进程与资源分配有关,进程有自己的独立地址空间,程序更加健壮,但是通信较麻烦,线程是资源调度的最小单位,是共享进程中的数据的,开销更小,通信更加便利。

cpu

我们在上网的过程中,会发现经常遇到进程和线程两种说法,那么他们到底有什么区别呢?

进程和线程的不同

1、进程是资源分配的最小单位,线程是程序执行的最小单位(资源调度的最小单位)

2、进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地址空间,因此 CPU 切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。

3、线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的难点。

4、但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。

总的来说,进程是资源分配的最小单位,而线程是资源调度的最小单位。

收藏 0个人收藏
走进科技生活方式

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 什么是处理器性能

    什么是处理器性能

    处理器即指中央处理器CPU,CPU的性能大致上反映出了它所配置的那部微机的性能,因此CPU的性能指标十分重要。 CPU性能主要取决于其主频和工作效率。
  • 首席数字官是什么

    首席数字官是什么

    首席数字官(CDO)源于企业数字化转型的需要。这是一个关乎企业未来的战略性职务,是通过加强对企业内部、外部供应商、客户之间的关系互动和数据流动,推动企业传统组织方式、运营模式与数字化技术的融合。
  • uclinux

    uCLinux是什么

    uclinux即“微控制器领域中的Linux系统”,主要是针对目标处理器没有存储管理单元MMU的嵌入式系统而设计的。已经被成功地移植到了很多平台上。
  • Servlet是什么

    Servlet是什么

    Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
  • 至强是什么

    至强是什么

    至强Xeon是英特尔生产的微处理器,用于中间范围的企业服务器和工作站。Xeon设计用于因特网以及大量的数据处理服务、、图像和多媒体等需要快速传送大量数据的应用。
  • CPU

    多线程是什么

    多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。