深入理解 Go 调度模型 GPM Author mogd 2022-04-28 Update mogd 2022-05-05 Adage Be content with what you have; rejoice in the way things are. When you realize th
Golang sync.Map 详解 原生的 Go Map 在并发读写场景下经常会遇到 panic 的情况。造成的原因是 map 是非线性安全的,并发读写过程中 map 的数据会被写乱。 而一般情况下,解决并发读写 map 的思路是加锁,或者把一个 map 切分成若干个小 map,对 key 进行哈
Go 并发 | 通过示例理解数据竞争及竞争条件 Go 并发中有两个重要的概念:数据竞争 (data race) 和竞争条件 (race condition) 在并发程序中,竞争问题可能是程序面临的最难也是最不容易发现的错误之一 数据竞争 (data race) 当两个或多个协程同时访问同一个内存地址
Golang 中 select 语句死锁问题 一切问题的答案都在 spec^[1]^ 里 Select 语句执行步骤 Select_statements Execution of a “select” statement proceeds in several steps: For all the
Go 1.18 新特性泛型详解 Go 1.18 版本新增了一个功能:支持泛型编程。 如果是其他语言转 Go 语言的开发者,那么能够理解什么是泛型,以及如何使用? 但只是 Go 语言的初学者,并没有接触过泛型编程的人来说,这个功能可能一头雾水。 本文希望能让为接触泛型编程的人也能很好的理解和使用 Go
Go 语言中 switch 类型断言的用法 Author mogd 2022-05-09 Update mogd 2022-05-09 Adage Don't live in the past. Go 语言官方有推荐的编码规范,在这里记录一次编码中 switch 进行类型断言判断的标准用法 使用类型
GO 语言中 Context 包详解 Author mogd 2022-06-28 Update mogd 2022-07-04 Adage Rreality is merely an illusion, albeit a very persistent one. 前言 不知道有没有小伙伴跟我一样,