您的位置:首页 > 职场人生

面试问题:进程与线程的区别和联系

2017-07-15 11:01 417 查看
程与线程的区别与联系

   
进程,是并发执行的程序在执行过程中分配和管理资源基本单位,是一个动态概念,竟争计算机系统资源的基本单位(从计算机获取资源的基本单位)。每一个进程都有一个自己的地址空间,即进程空间或(虚空间)。进程空间的大小
只与处理机的位数有关,一个 16 位长处理机的进程空间大小为 216 ,而 32 位处理机的进程空间大小为 232 。进程至少有 5 种基本状态,它们是:初始态,执行态,等待状态,就绪状态,终止状态
   
线程,是轻量级进程(Lightweight Process, LWP),是程序执行流的最小单元。一个没有线程的进程可以被看作是单线程的。线程与资源调度、分配无关,属于某个进程,并与进程内的其他线程共享进程资源。
 
 区别:

线程只由相关堆栈(系
4000
统栈或用户栈寄存器和线程控制表TCB组成。寄存器可被用来存储线程内的局部变量,但不能存储其他线程的相关变量。

通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度,从而显著提高系统资源的利用率和吞吐量。因而近年来推出的通用操作系统都引入了线程,以便进一步提高系统的并发性,并把它视为现代操作系统的一个重要指标。

线程与进程的区别可以归纳为以下4点:

1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。

2)通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。

3)调度和切换:线程上下文切换比进程上下文切换要快得多。

4)在多线程OS中,进程不是一个可执行的实体。

    进程的执行过程是线状的。使用线程的好处是:有多个任务需要处理机处理时,减少处理机的切换时间;而且,线程的创建和结束所需要的系统开销也比进程的创建和结束要小得多。最适用使用线程的系统是多处理机系统和网络系统或分布式系统。
----------------------------------
1.
线程的执行特性

    线程只有 3 个基本状态:就绪,执行,阻塞。
    线程存在 5 种基本操作来切换线程的状态:派生,阻塞,激活,调度,结束。
2.
进程通信

    单机系统中进程通信有 4 种形式:主从式,会话式,消息或邮箱机制,共享存储区方式。
        主从式典型例子:终端控制进程和终端进程。
        会话式典型例子:用户进程与磁盘管理进程之间的通信。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: