摘要: 原创文章,欢迎转载,转载请注明出处,谢谢。 0. 前言 前面介绍了运行时间过长和系统调用引起的抢占,它们都属于协作式抢占。本讲会介绍基于信号的真抢占式调度。 在介绍真抢占式调度之前看下 Go 的两种抢占式调度器: 抢占式调度器 - Go 1.2 至今 基于协作的抢占式调度器 - Go 1.2 - G 阅读全文
posted @ 2024-09-16 20:20 hxia043 阅读(176) 评论(0) 推荐(1) 编辑
摘要: 原创文章,欢迎转载,转载请注明出处,谢谢。 0. 前言 第八讲介绍了当 goroutine 运行时间过长会被抢占的情况。这一讲继续看 goroutine 执行系统调用时间过长的抢占。 1. 系统调用时间过长的抢占 看下面的示例: func longSyscall() { timeout := sys 阅读全文
posted @ 2024-09-16 12:01 hxia043 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 原创文章,欢迎转载,转载请注明出处,谢谢。 0. 前言 在 Go runtime 调度器精讲(七):案例分析 一文我们介绍了一个抢占的案例。从案例分析抢占的实现,并未涉及到源码层面。本文将继续从源码入手,看 Go runtime 调度器是如何实现抢占逻辑的。 1. sysmon 线程 还记得 Go 阅读全文
posted @ 2024-09-16 01:10 hxia043 阅读(156) 评论(0) 推荐(1) 编辑