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

进程线程协程的区别?

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

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

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

协程是什么?

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

特点:

  • 初试化大小为2kb,可以动态扩大或缩小
  • 调度只在用户态,由用户态调度器控制,操作系统不参与
  • 协程的上下文切换没有用户态和内核之间的切换
相关推荐
不会写DN13 小时前
Golang中实时推送的功臣 - WebSocket
开发语言·后端·golang
`Jay14 小时前
高并发数据采集:隧道代理池架构设计与实现
爬虫·python·学习·golang·代理模式
AMoon丶16 小时前
Golang--多种控制结构详解
java·linux·c语言·开发语言·后端·青少年编程·golang
不会写DN16 小时前
Go中的泛型与any、interface有什么区别?
开发语言·后端·golang
无心水17 小时前
【文档解析】4、跨平台文档解析:JS/Go/C#全攻略
javascript·后端·golang·c#·架构师·大数据分析·分布式系统利器
不会写DN17 小时前
如何让两个Go程序远程调用?
开发语言·qt·golang
ん贤20 小时前
Go channel 深入解析
开发语言·后端·golang
yashuk1 天前
Go-Gin Web 框架完整教程
前端·golang·gin
yiyaozjk1 天前
Go基础之环境搭建
开发语言·后端·golang
呆萌很1 天前
【GO】字符串练习题
golang