月度归档: 2025 年 5 月

5 篇文章

Golang中的GMP模型原理及调度
被废弃的golang调度器 在2012年之前,用的是P不存在的GM调度器 ​ 线程M 想要执行、放回 协程G 都必须访问全局 G 队列,并且 M 有多个,即多线程访问同一资源需要加锁进行保证互斥 / 同步,所以全局 G 队列是有互斥锁进行保护的。 ​ 这样明显会发现一个问题,当M空闲都申请G时,形成锁竞争;甚至M0申请G、M1放回G都会形成竞争,效…
手撕LRU(Go实现)
    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…