花费 8 ms
实战分析一个运行起来会卡死的Go程序

序言 最近一位非常热心的网友建议结合demo来分析一下goroutine的调度器,而且还提供了一个demo代码,于是便有了本文,在此对这位网友表示衷心的感谢! 这位网友提供的demo程序可能有的g ...

Mon May 20 17:08:00 CST 2019 2 1383
Go语言goroutine调度器概述(11)

本文是《go调度器源代码情景分析》系列的第11篇,也是第二章的第1小节。 goroutine简介 goroutine是Go语言实现的用户态线程,主要用来解决操作系统线程太“重”的问题,所谓的太重, ...

Thu May 02 22:43:00 CST 2019 0 1043
Go语言goroutine调度器初始化(12)

本文是《Go语言调度器源代码情景分析》系列的第12篇,也是第二章的第2小节。 本章将以下面这个简单的Hello World程序为例,通过跟踪其从启动到退出这一完整的运行流程来分析Go语言调 ...

Sun May 05 23:19:00 CST 2019 0 894
Go语言调度器之创建main goroutine(13)

本文是《Go语言调度器源代码情景分析》系列的第13篇,也是第二章的第3小节。 上一节我们分析了调度器的初始化,这一节我们来看程序中的第一个goroutine是如何创建的。 创建main gor ...

Tue May 07 22:41:00 CST 2019 0 871
go语言调度器源代码情景分析之一:开篇语

专题简介 本专题以精心设计的情景为线索,结合go语言最新1.12版源代码深入细致的分析了goroutine调度器实现原理。 适宜读者 go语言开发人员 对线程调度器工作原理感兴趣 ...

Thu Apr 25 18:06:00 CST 2019 0 768
Go语言调度器之调度main goroutine(14)

本文是《Go语言调度器源代码情景分析》系列的第14篇,也是第二章的第4小节。 上一节我们通过分析main goroutine的创建详细讨论了goroutine的创建及初始化流程,这一节我们接着来 ...

Thu May 09 23:29:00 CST 2019 0 683
go语言调度器源代码情景分析之二:CPU寄存器

本文是《go调度器源代码情景分析》系列 第一章 预备知识的第1小节。 寄存器是CPU内部的存储单元,用于存放从内存读取而来的数据(包括指令)和CPU运算的中间结果,之所以要使用寄存器来临时存放数据而 ...

Thu Apr 25 20:49:00 CST 2019 1 592
Go语言调度器之盗取goroutine(17)

本文是《Go语言调度器源代码情景分析》系列的第17篇,也是第三章《Goroutine调度策略》的第2小节。 上一小节我们分析了从全局运行队列与工作线程的本地运行队列获取goroutine的 ...

Fri May 17 23:30:00 CST 2019 0 598
Go语言调度器之主动调度(20)

本文是《Go语言调度器源代码情景分析》系列的第20篇,也是第五章《主动调度》的第1小节。 Goroutine的主动调度是指当前正在运行的goroutine通过直接调用runtime.Gos ...

Wed May 29 00:40:00 CST 2019 0 551
go语言调度器源代码情景分析之四:函数调用栈

本文是《go调度器源代码情景分析》系列 第一章 预备知识的第3小节。 什么是栈 栈是一种“后进先出”的数据结构,它相当于一个容器,当需要往容器里面添加元素时只能放在最上面的一个元素之上,需要 ...

Fri Apr 26 00:53:00 CST 2019 0 560

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM