• 进程 线程 协程


    2.1什么是线程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

     

     

    2.2什么是进程?

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

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

    进程是线程的容器,

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

    进程是程序的实体

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

    2.3 线程进程的区别

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

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

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

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

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

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

     

    2.4 什么是协程

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

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

     

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

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

     

  • 相关阅读:
    有没有对象???new一个???
    原生数组的方法--翻转
    rclone的基本用法
    golang 文件操作
    记一次挖矿程序处理 firstpress
    python 第三方库 网络 requests
    python 第三方库 时间 arrow
    ansible playbook loop 翻译
    硬盘性能测试工具之bonnie++
    磁盘性能测试工具之fio
  • 原文地址:https://www.cnblogs.com/wangyao2317072926/p/7918568.html
Copyright © 2020-2023  润新知