进程、线程、协程有什么区别吗?协程是什么?

进程线程协程的区别?

进程是操作系统分配资源的基本单位。

线程是CPU调度资源的基本单位。

协程可以理解为用户态线程,是微量级线程。协程的调度是在用户态下进行,不需要切换到内核态,所以不由操作系统参与,由用户自己控制。协程有独立的栈空间,但是共享堆空间。一个进程可以跑多个线程,一个线程可以跑多个协程。

协程是什么?

Goroutine是对协程的实现,是基本的并发执行单元。

特点:

  • 初试化大小为2kb,可以动态扩大或缩小
  • 调度只在用户态,由用户态调度器控制,操作系统不参与
  • 协程的上下文切换没有用户态和内核之间的切换
相关推荐
~|Bernard|6 小时前
二.go语言中map的底层原理(2026-5-8)
算法·golang·哈希算法
平凡但不平庸的码农6 小时前
Go 错误处理详解
开发语言·后端·golang
web守墓人9 小时前
【go语言】go语言实现go-torch, 完成Lenet-5的搭建,训练,以及pth和onnx模型导出
开发语言·后端·golang
平凡但不平庸的码农9 小时前
Go 语言常用标准库详解
开发语言·后端·golang
平凡但不平庸的码农10 小时前
Go context 包详解
开发语言·后端·golang
~|Bernard|14 小时前
三,go语言中channel的底层原理
开发语言·后端·golang
且去填词14 小时前
Go并发模式进阶:从Worker Pool到可取消任务调度器
数据库·oracle·golang
平凡但不平庸的码农14 小时前
Go 语言:值传递 vs 指针传递
开发语言·后端·golang
平凡但不平庸的码农1 天前
Go Slice 详解
算法·golang
jieyucx1 天前
零基础入门:一文看懂哈希算法、哈希表与 Go map
golang·哈希算法·散列表·map·哈希表