本文讲述了golang中的channel设计哲学、基本操作、底层数据结构以及最佳实践,帮助初学者快速入门。
本文接续上篇,介绍GC全过程,Go GC采用增量并发三色标记,短暂停顿,自动与手动触发,分四阶段高效回收内存。
本文介绍了Golang的垃圾回收策略的发展、垃圾回收的关键知识:STW、常见垃圾回收策略以及核心的三色标记法
被废弃的golang调度器 在2012年之前,用的是P不存在的GM调度器 线程M 想要执行、放回 协程G 都必须访问全局 G 队列,并且 M 有多个,即多线程访问同一资源需要加锁进行保证互斥 / 同步,所以全局 G 队列是有互斥锁进行保护的。 这样明显会发现一个问题,当M空闲都申请G时,形成锁竞争;甚至M0申请G、M1放回G都会形成竞争,效…
1.使用container/list实现 首先,我们要了解标准库中的双向链表list 标准库list详解 list.go源文件https://cs.opensource.google/go/go/+/refs/tags/go1.24.2:src/container/list/list.go 在 Go 语言的 contai…