进程和线程的区别

  • 进程
    进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。

  • 引入线程的原因
    1 进程第一个属性说明,进程是独立运行调度的基本单位,因此为使程序能并发执行,系统必须进行以下的一系列操作:1) 创建进程2) 撤消进程 3) 进程切换
    进程在创建、撤消和切换中,系统必须为之付出较大的时空开销,因此,在系统中所设置的进程,其数目不宜过多,进程切换的频率也不宜过高,这也就限制了并发程度的进一步提高。
    2 为了使多个程序更好地并发执行同时又尽量减少系统的开销.
    将进程的两个属性分开:对于作为调度和分派的基本单位,不同时作为拥有资源的单位,以做到“轻装上阵”;而对于拥有资源的基本单位,又不对之进行频繁的切换,在这种思想的指导下,形成了线程的概念。
    在操作系统中引入线程,就是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性

  • 线程
    线程是进程的一个实体,是cpu调度和分派的基本单位,它是比进程更小的能独立运行的基本单位

  • 线程与进程的比较
    调度:更高效
    并发性:更好。
    拥有资源:进程是拥有资源的一个基本单位,一般而言,线程自己不拥有系统资源(也有一点必不可少的资源),但它可以访问其隶属进程的资源。
    系统开销:线程远低于进程

  • 那线程拥有哪些私有资源,又拥有哪些共享资源呢???
    1 线程独自拥有的资源(私有资源):
    线程ID;
    寄存器组的值;
    线程的堆栈;
    错误返回码;
    线程的信号屏蔽;
    线程的优先级.
    2 线程间共享的资源:
    同一进程的线程共享进程的代码段,进程公有数据,进程打开文件描述符,信号处理器,进程的当前目录和进程用户ID,进程组ID

posted on 2019-04-24 15:07  的先生在打码  阅读(150)  评论(0编辑  收藏  举报

导航