zoukankan      html  css  js  c++  java
  • 进程 线程 协程

    2.1什么是线程

    线程是操作系统能够进行运算调度的最小单位(程序执行流的最小单元)

    它被包含在进程中,是进程运作的单位。一条线程指进程中一个单一

    顺序控制流,一条进程可以并发多个线程,每条线程并行执行不同的任务

    一个线程由线程ID,当前指令指针(pc),寄存器集合和堆栈组成

    线程是进程的实体,是被系统调度和分派的基本单位

    线程自己不拥有系统资源,只有一点在运行上必不可缺少的资源

    可以与同一个进程的其他线程共享进程所用语的全部资源

    一个线程可以创建和撤销另一个线程

    统一进程中多个线程之间可以并发执行

    线程也有就绪,阻塞和运行三种基本状态

    就绪指线程具备运行的所有条件,逻辑上可以运行,在等待处理机

    运行指线程占有处理机正在运行

    阻塞状态线程在等待一个事件,逻辑上不可执行

    每一个程序都至少有一个线程,若程序只有一个线程那就是程序本身

    在单个程序中同时运行多个线程完成不同的工作,称多线程

     

     

    2.2什么是进程?

    进程process是计算机中程序关于某数据集合上的一次运行活动,是系统进行资源分配和

    调度的基本单位,是操作系统结构的基础

    进程是线程的容器,

    程序是指令,数据,及其组织形式的描述

    进程是程序的实体

    里面包含对各种资源的调用,内存的管理,网络接口的调用,对各种资源管理的集合就可以成为进程

    2.3 线程进程的区别

    1.线程共享内存空间;进程的内存独立

    2.同一个进程的线程之间可以直接交流;

    两个进程通信必须通过中间代理来实现

    3.创建新线程简单;创建新进程需要对父进程进行克隆

    4,一个线程可以控制和操作同一个进程里的其他线程;但是进程只能操作子进程

    5,改变主线程,可能影响其他线程;改变父进程,不影响子进程

     

    2.4 什么是协程

    协程又称微线程,简单来说协程是一种用户态的轻量级线程

    线程是系统级别的,协程是程序级别的,由程序员根据自己调度

     

    协程拥有自己的寄存器上下文和栈。调度切换时,将寄存器上下文和栈保存到其他地方,

    在切回来时,恢复先前保存的寄存器上下文和栈。因此:协程保留上一次的调用状态,

     

  • 相关阅读:
    Mybatis+Spring整合
    java 线程详解
    java 异常处理
    java 日期 时间操作
    RandomAccessFile 详解
    js导入excel
    java 常见异常
    常用的java程序片段(算法)
    IO流详解
    json 详解
  • 原文地址:https://www.cnblogs.com/wangyao2317072926/p/7918568.html
Copyright © 2011-2022 走看看