zoukankan      html  css  js  c++  java
  • 浅谈进程和线程的区别

    进程和线程是操作系统中的概念,也是平时被面试时问道的最多的问题,因此,我想谈谈我对2个概念的一些自己的看法。

    首先,说一下他们2个定义:

    进程:具有一定独立功能的程序关于一个数据集合的一次运行活动。

    线程:又叫轻进程,是进程内部的一个相对独立的执行流。

    从定义上可以看出,进程的范围更大些,它包括线程,一个进程至少有一个线程,也可以有多个线程,一般认为,进程是资源的分配单位,线程是cpu调度的单位。

    进程有自己的独立的内存单元,而线程则是多个线程共享内存。这样决定了他们各自的优缺点:进程由于有自己的独立的内存空间,所以一个进程的崩溃不会对其他进程产生大的影响,但是进程占有较大的资源,所以开销大。线程相对来讲,上下文切换速度快,系统开销小,而且容易互相通信。

    说一下unix系统下进程的创建和撤销的函数。

    pid = fork();   exit(status);

    进程从操作系统的角度看可以分为系统进程和用户进程。系统进程有自己的独立内存空间,而用户进程是不能使用这段内存空间的。进程的特性:1并发性2动态性3独立性4交互性5异步性6结构性。

    线程有自己的堆栈和局部变量,这样一个进程中的共享地址空间的线程就能够区分开,线程更适合并发执行,有利于信息的传递。

  • 相关阅读:
    [bzoj1280]卖猪
    [51nod1237]最大公约数之和V3
    [cf741C]Arpa’s overnight party and Mehrdad’s silent entering
    [bzoj1576]安全路径
    [bzoj1143]祭祀
    db_writer_processes默认大小
    oracle审计功能启动关闭
    db_writer_processes默认大小
    手机发博客
    第27课 .net程序破解
  • 原文地址:https://www.cnblogs.com/itdreamfly/p/12871723.html
Copyright © 2011-2022 走看看