runnext的抢占是如何发生的
来源:1-4 Go 程序是怎么跑起来的
weixin_慕移动6186909
2021-05-16 20:29:54
这个cas指令是怎么做到:
1、 返回true代表新的g抢占成功
2、 返回false代表等待正在执行的g的呢
是什么条件判断的抢占成功呢?
还就就是想看这个cas的详细内容点进去是个没有实现的函数,如下图
1回答
Xargin
2021-05-16
runnext 只是 P 结构体的一个字段,替换就是就是把 old 值保存下来,new 值塞进去就行了。。这里不叫抢占,抢占是要把正在执行的那些 goroutine 停下来
相似问题
回答 1