• Go简单实现协程池


    首先就是进程、线程、协程讲解老三样。

    **进程:**本质上是一个独立执行的程序,进程是操作系统进行资源分配和调度的基本概念,操作系统进行资源分配和调度的一个独立单位。

    **线程:**是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程中可以并发多个线程,每条线程执行不同的任务,切换受系统控制。

    **协程:**又称为微线程,是一种用户态的轻量级线程,协程不像线程和进程需要进行系统内核上的上下文切换,协程的上下文切换是由用户自己决定的,有自己的上下文,所以说是轻量级的线程,也称之为用户级别的线程就叫协程,一个线程可以多个协程,线程进程都是同步机制,而协程则是异步Java的原生语法中并没有实现协程,目前python、Lua和GO等语言支持。

    **关系:**一个进程可以有多个线程,它允许计算机同时运行两个或多个程序。线程是进程的最小执行单位,CPU
    的调度切换的是进程和线程,进程和线程多了之后调度会消耗大量的CPU,CPU上真正运行的是线程,线程可
    以对应多个协程。

    golang协程

    MPG模型

    Go协程中有三个关键实体:

    • M(machine): 工作线程,由操作系统调度。应该就是通常所说的内核线程。
    • P(processor): 处理器(非CPU),代表着运行Go代码的必要资源,以及调度
  • 相关阅读:
    vulnhub blogger: 1
    GPT家族
    Linux —— 文件操作
    Python中if __name__ == ‘__main__‘,__init__和self 的解析
    MFC Windows 程序设计[243]之托盘弹泡泡(附源码)
    vue页面添加水印(可用于H5,APP)
    企业所得税分析与预测
    无监督模型预训练论文、代码汇总
    TuGraph数据库
    Greenplum分布键查询
  • 原文地址:https://blog.csdn.net/web15185420056/article/details/126790182