当前位置: 代码迷 >> 综合 >> Golang笔记——goroutine(协程)和 channel(管道)
  详细解决方案

Golang笔记——goroutine(协程)和 channel(管道)

热度:3   发布时间:2024-02-11 16:16:30.0

goroutine-看一个需求

  • 需求:要求统计 1-9000000000 的数字中,哪些是素数?
  • 分析思路:
  1. 传统的方法,就是使用一个循环,循环的判断各个数是不是素数。[很慢]
  2. 使用并发或者并行的方式,将统计素数的任务分配给多个 goroutine 去完成,这时就会使用到
    goroutine.【速度提高 4 倍】

goroutine-基本介绍

进程和线程介绍
在这里插入图片描述
程序、进程和线程的关系示意图
在这里插入图片描述

并发和并行

  1. 多线程程序在单核上运行,就是并发
  2. 多线程程序在多核上运行,就是并行
  3. 示意图:
    在这里插入图片描述
  • 小结
    在这里插入图片描述
  相关解决方案