进程与线程 .Net Core系列-多线程
进程与线程
进程:
- 狭义定义:进程是正在运行的程序的实例
- 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
- 特性
1、动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的;
2、并发性:任何进程都可以同其他进程一起并发执行;
3、独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;
4、异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进
5、结构特征:进程由程序、数据和进程控制块三部分组成。
线程:
- 定义:是操作系统能够运算调度的最小单位。它被包含在进程中,是进程中的实际运作单位。一条线程是进程中一个单一顺序的控制流,一个进程中可以并发多个线程。
- 特点:
在多线程OS中,一个进程中包含多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。线程具有一下独特;
1)轻型实体;
2)独立调度和分派的基本单位;
3)可并发执行;
4)共享进程资源;
线程与进程区别
进程是资源分配的基本单位;所有与该进程有关的资源,都被记录在进程控制块;以表示该进程拥有这些资源或正在使用他们。
-
进程与线程的区别
1.地址空间和其他资源:进程之间是独立,但是同一进程中的线程之间地址空间及资源共享。
2.通信:进程之间通信用IPC,线程之间直接读写进程数据。
3.调度和切换:线程比进程上下文切换要快的多。
浙公网安备 33010602011771号