go 的锁是可重入的吗? go 的锁是可重入的吗? **题目来源:**网易 答案1: 不是可重入锁。 讨论这个问题前,先解释一下“重入”这个概念。当一个线程获取到锁时,如果没有其他线程拥有这个锁,那么这个线程就会成功获取到这个锁。线程持有这个锁后,其他线程再请求这个锁,其他线程就会进入阻塞等待的状态。但是如果拥有这个锁的线程再请求这...
Go 如何查看GC信息? 1. GODEBUG=‘gctrace=1’ 2. go tool trace 3. debug.ReadGCStats 4. runtime.ReadMemStats Go 如何查看GC信息? 1. GODEBUG=‘gctrace=1’ package main func main () { f...
Golang Map 底层实现 Golang Map 底层实现 参考解析 Golang 中 map 的底层实现是一个散列表,因此实现 map 的过程实际上就是实现 散表的过程。在这个散列表中,主要出现的结构体有两个,一个叫 hmap(a header for a go map),一个叫 bmap(a bucket for a Go map,通常叫...