GMP 原理与调度
基本概念M(machine): 代表着真正的执行计算资源,可以认为它就是os thread(系统线程)。P(processor): 表示逻辑processor,是线程M的执行的上下文。G(gorout ...
Golang Sync.Mutex 详解
lock逻辑:
第一次上锁的时候,直接走第一步CAS上锁,成功返回
Mutex已经被另一个g上锁,那么state的g等待数+1,更新当前的锁状态,然后就进入队列,等待被唤醒,等到另个g调用了Unloc ...
Golang Channel 详解
channel 1011. 引子单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。
虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发 ...
并发编程
goroutine超时处理123456789101112131415161718192021222324252627282930313233package mainimport ( " ...
Golang Context 详解
go 并发控制实际生产中,WaitGroup 和 Channel 是常见的 2 种并发控制的方式。如果有一系列任务,需要这些任务全部完成以后才能继续执行,WaitGroup 非常适合于这类场景,例如下 ...