进程是表示资源分配的基本单位,又是调度运行的基本单位。
线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。
进程就是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。
进程和线程的关系
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。
(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。 同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。但是每个线程拥有自己的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。
(3)处理机分给线程,即真正在处理机上运行的是线程。
(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
进程和线程的区别
(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;
(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源
(3)线程是处理器调度的基本单位,但进程不是.
(4)二者均可并发执行.
进程与线程的比较
(1)拥有资源
进程是资源管理的基本单位,它拥有自己的地址空间和各种资源; 线程 只是处理机调度的基本单位,它只和其他线程一起共享进程资源,它自己没有系统资源。
(2)调度
进程是拥有资源的基本单位和独立调度和分配的基本单位; 而线程是调度和分配的基本单位。
(3)并发性
进程之间可以并发执行, 一个进程的多个线程之间也能并发执行。
(4)系统开销
进程的调度、同步等大多由OS内核完成, 而线程的控制既可以由OS内核进行,也可以由用户控制。线程的开销比进程的开销要小得多。
(5)独立性
同一进程中的不同线程之间的独立性比不同进程之间的独立性要低的多。
(6)支持多处理机系统
在多处理机系统中,单线程进程只能运行在一个处理机上, 而多线程进程可以将一个进程中的多个线程分配到多个处理机上。
进程与线程
最新推荐文章于 2023-03-03 23:44:27 发布