Golang协程goroutine

协程

首先要把协程与线程、进程区别开。
线程也成为内核级线程,而协程被称为用户级线程。
其最大的特点就是并不用像线程、进程那样进行抢占式调度,它进行的是协作式调度
协程它并不能做到强制把CPU控制权切换至别的线程,但是它可以主动将CPU控制权转让出去。

goroutine

其本质是协程,但是与协程有有一点不同。
Golang在runtime,系统调度等方面做了相应的处理,避免了某一个goroutine占用CPU太长时间。
goroutine作为协程有着不少优势:

  • 内存消耗少,以KB为单位,而线程呢,是要以MB为单位。
  • 切换调度开销少,goroutine它仅有3个寄存器修改值。

这些也正是Golang在后端火起来的重要原因,它能是要网络高并发特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值