摘要: 这一节我们来看程序中的第一个goroutine是如何创建的 阅读全文
posted @ 2019-05-07 14:41 爱写程序的阿波张 阅读(2765) 评论(0) 推荐(0) 编辑
摘要: 本章将以一个简单的Hello World程序为例,通过跟踪其从启动到退出这一完整的运行流程来分析Go语言调度器的初始化、goroutine的创建与退出、工作线程的调度循环以及goroutine的切换等重要内容。 阅读全文
posted @ 2019-05-05 15:19 爱写程序的阿波张 阅读(2918) 评论(0) 推荐(0) 编辑
摘要: 本节主要介绍goroutine调度器工作原理及所涉及到的重要结构体与全局变量。 阅读全文
posted @ 2019-05-02 14:43 爱写程序的阿波张 阅读(2980) 评论(0) 推荐(0) 编辑
摘要: 本文就线程本地存储的用法及gcc对其实现原理做个简单的介绍。 阅读全文
posted @ 2019-05-01 18:04 爱写程序的阿波张 阅读(5759) 评论(0) 推荐(1) 编辑
摘要: 本文主要从操作系统什么时候会起对线程的调度以及调度的时候内核会做哪些事情的角度简单的介绍一下系统线程方面的知识。 阅读全文
posted @ 2019-04-30 12:35 爱写程序的阿波张 阅读(3402) 评论(0) 推荐(0) 编辑
摘要: 本文主要简单的说明什么是系统调用,以及系统调用是如何实现的。 阅读全文
posted @ 2019-04-30 12:08 爱写程序的阿波张 阅读(1226) 评论(0) 推荐(1) 编辑
摘要: 本文从汇编层面分析了函数调用的实现原理,主要内容包括:CPU是如何从调用者跳转到被调用函数执行的?参数是如何从调用者传递给被调用函数的?函数局部变量所占内存是怎么在栈上分配的?返回值是如何从被调用函数返回给调用者的?函数执行完成之后又需要做哪些清理工作? 阅读全文
posted @ 2019-04-29 08:57 爱写程序的阿波张 阅读(8932) 评论(1) 推荐(4) 编辑
摘要: go汇编格式跟前面讨论过的AT&T汇编基本上差不多,但也有些重要区别,本节就这些差异做一个简单说明。 阅读全文
posted @ 2019-04-28 08:57 爱写程序的阿波张 阅读(1590) 评论(0) 推荐(0) 编辑
摘要: 本文是《go调度器源代码情景分析》系列 第一章 预备知识的第4小节。 汇编语言是每位后端程序员都应该掌握的一门语言,因为学会了汇编语言,不管是对我们调试程序还是研究与理解计算机底层的一些运行原理都具有非常重要的作用,所以建议有兴趣的读者可以多花点时间把它学好。 与高级编程语言一样,汇编语言也是一门完 阅读全文
posted @ 2019-04-26 13:51 爱写程序的阿波张 阅读(1710) 评论(0) 推荐(0) 编辑
摘要: 本文是《go调度器源代码情景分析》系列 第一章 预备知识的第3小节。 什么是栈 栈是一种“后进先出”的数据结构,它相当于一个容器,当需要往容器里面添加元素时只能放在最上面的一个元素之上,需要取出元素时也只能从最上面开始取,通常我们称添加元素为入栈(push),取出元素为出栈(pop)。 不知道读者是 阅读全文
posted @ 2019-04-25 16:53 爱写程序的阿波张 阅读(1902) 评论(0) 推荐(1) 编辑