进程和线程的区别
@TOC
进程: 一个在内存中运行的应用程序。 每个进程都有自己独立的一块内存空间,一个进程可以有多个线程。 线程: 进程中的一个执行任务(控制单元),负责当前进程中程序的执行。 一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。
根本区别:进程是操作系统进行资源分配的基本单位,线程是独立调度的基本单位。
地址空间:进程包含独立的地址空间,线程没有自己独立的地址空间,它共享所属进程的空间。
资源:系统在运行的时候会为每个进程分配资源,而不会为线程分配资源,线程所使用的资源来自其所属进程的资源。
开销:进程之间的切换会有较大的开销,线程之间的切换的开销比较小;创建一个线程比进程开销小。
通信:线程之间通信比进程之间通信更方便。
包含关系:线程是一个轻量级进程,是进程的一部分。
影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。
互联网学习 文章被收录于专栏
互联网知识点