zoukankan      html  css  js  c++  java
  • 复习线程

    1.进程

          定义:  进程就是一个程序在一个数据集上的一次动态执行过程。

     

      组成:  进程一般由程序、数据集、进程控制块三部分组成。

     

      程序:  我们编写的程序用来描述进程要完成哪些功能以及如何完成;

     

      数据集: 则是程序在执行过程中所需要使用的资源;

     

      进程控制块: 用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志

     

    2.线程

           线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干一样事的缺陷,使到进程内并发成为可能。

     

      线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最小单元

     

        组成:由线程ID、程序计数器、寄存器集合和堆栈共同组成。

     

      线程的引入减小了程序并发执行时的开销,提高了操作系统的并发性能。线程没有自己的系统资源

     

    3.线程与进程的区别

    线程是执行的指令集 , 进程是资源的集合

    线程的启动速度要比进程的启动速度要快

    两个线程的执行速度是一样的

    进程与线程的运行速度是没有可比性的

    线程共享创建它的进程的内存空间 , 进程的内存是独立的

    两个线程共享的数据都是同一份数据 , 两个子进程的数据不是共享的 , 而且数据是独立的

    同一个进程的线程之间可以直接交流 , 同一个主进程的多个子进程之间是不可以进行交流 , 如果两个进程之间需要通信 , 就必须要通过一个中间代理来实现

    一个新的线程很容易被创建 , 一个新的进程创建需要对父进程进行一次克隆

    一个线程可以控制和操作同一个进程里的其他线程 , 线程与线程之间没有隶属关系 , 但是进程只能操作子进程

    改变主线程 , 有可能会影响到其他线程的行为 , 但是对于父进程的修改是不会影响子进程

    4.同步和异步

            同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;

     

         异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。

     

           举个例子,打电话时就是同步通信,发短息时就是异步通信

     

    5.并行和并发

            并行指系统具有处理多个任务(动作)的能力

     

           并发是指系统具有同时处理多个任务(动作)的能力

     

     6.阻塞与非阻塞

            阻塞调用是指调用结果返回之前,当前线程会被挂起(如遇到io操作)。函数只有在得到结果之后才会将阻塞的线程激活。

     

            非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前也会立刻返回,同时该函数不会阻塞当前线程

  • 相关阅读:
    锻造软件需求人员的六大要素
    一名IT从业者的英语口语能力成长路径
    软键盘android:windowSoftInputMode属性详解
    Linux CentOS下shell显示-bash-4.1$ 不显示用户名和主机名的解决方法
    Cent OS 常用 命令
    安装服务器pve虚拟系统(可以通过web管理物理机集群资源与虚拟机)
    win10系统绑定本地IP和mac地址
    苹果MAC OS查看MAC地址及修改ip
    CentOS7 配置阿里云yum源,vim编辑器,tab自动补全
    element的el-tabs控制,以及el-select 多选默认值
  • 原文地址:https://www.cnblogs.com/yangli0504/p/9179398.html
Copyright © 2011-2022 走看看