进程和线程的关系

2021-12-02  本文已影响0人  liang1030

一,定义

进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。

• 进程是系统进行资源分配和调度的一个基本单位。

• 是系统中的并发执行的单位。

线程:是进程的一个实体,单个进程中执行中每个任务就是一个线程。

• 线程是进程中执行运算的最小单位。

• 线程基本不拥有系统资源,拥有自己的栈空间,它与同属一个进程的其他线程共享进程所拥有的全部资源。

• 一个线程可以创建和撤销另一个线程。

• 同一个进程中的多个线程之间可以并发执行。

二,区别:

• 进程和线程的主要差别在于他们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其他进程产生影响,线程只是一个进程中的不同执行路径,有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。

• 一个程序至少有一个进程,一个进程至少有一个线程。

• 一个线程只能属于一个进程,但是一个进程可以拥有多个线程。多线程处理就是允许一个进程中在同一时刻执行多个任务。

• 线程是一种轻量级的进程,与进程相比,线程给操作系统带来侧创建、维护、和管理的负担要轻,意味着线程的代价或开销比较小。

• 线程执行开销小,但不利于资源的管理和保护。

• 父和子进程使用进程间通信机制,同一进程的线程通过读取和写入数据到进程变量来通信。

• 子进程不对任何其他子进程施加控制,进程的线程可以对同一进程的其它线程施加控制。子进程不能对父进程施加控制,进程中所有线程都可以对主线程施加控制。

参考链接:

https://blog.csdn.net/horacehe16/article/details/80821273
https://www.jianshu.com/p/36776be32253

上一篇 下一篇

猜你喜欢

热点阅读