问题内容 我有一个非常基本的疑问: 操作系统调度程序上下文可以在映射到内核级的用户级线程之间切换吗? 假设 Goscheduler 在内核线程上调度了一个 goroutine A。现在
我有一个非常基本的疑问: 操作系统调度程序上下文可以在映射到内核级的用户级线程之间切换吗?
假设 Goscheduler 在内核线程上调度了一个 goroutine A。现在 goroutine A 进行 sysblock 调用,谁先进行上下文切换:OS 还是 go 调度程序?
Go 调度程序管理 goroutine,这些 goroutine 被复用到操作系统级线程上。 Go 调度器可以高效地执行 Goroutine 之间的上下文切换,例如当 Goroutine 进行阻塞系统调用时,而无需涉及 OS 调度器。但是,需要注意的是,由于时间分片等因素,操作系统调度程序可能会独立中断并执行上下文切换。因此,从Go程序的角度可能无法准确确定上下文切换的确切时机以及操作系统调度程序的参与。
进一步阅读:
Go 调度程序:实现轻量级并发语言
以上就是Golang 上下文切换的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: Golang 上下文切换
本文链接: https://lsjlt.com/news/561333.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0