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

进程线程协程的区别?

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

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

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

协程是什么?

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

特点:

  • 初试化大小为2kb,可以动态扩大或缩小
  • 调度只在用户态,由用户态调度器控制,操作系统不参与
  • 协程的上下文切换没有用户态和内核之间的切换
相关推荐
q***78374 小时前
【Golang】——Gin 框架中间件详解:从基础到实战
中间件·golang·gin
Ryan ZX11 小时前
【Go语言基础】Go语言开发环境搭建
开发语言·后端·golang
喵了几个咪12 小时前
Golang微服务框架Kratos应用分布式任务队列Machinery
分布式·微服务·golang
Wenhao.12 小时前
LeetCode 救生艇
算法·leetcode·golang
hweiyu0016 小时前
GO的优缺点
开发语言·后端·golang
脉动数据行情1 天前
Go语言对接股票、黄金、外汇API实时数据教程
开发语言·后端·golang
q***71082 天前
【Golang】——Gin 框架中的表单处理与数据绑定
microsoft·golang·gin
q***72872 天前
Golang 构建学习
开发语言·学习·golang
资深web全栈开发2 天前
贪心算法套路解析
算法·贪心算法·golang