首页
发现
标签
搜索
注册
登录
首页
发现
榜单
搜索
ChatGPT
注册
登录
搜索
IT书架
本次搜索耗时
0.119
秒,为您找到
1023
个相关结果.
搜书籍
搜文档
2.Go 有哪些并发同步原语?
48
2024-03-19
《Go语言面试题精讲》
2.Go 有哪些并发同步原语? 原子操作 Channel 基本并发原语 sync.Mutex sync.RWMutex sync.WaitGroup sync.Cond sync.Once sync.Pool sync.Map sync.Context 扩展并发原语 ErrGroup Semaphore Sing...
3.Go goroutine泄露的场景?
47
2024-03-19
《Go语言面试题精讲》
3.Go goroutine泄露的场景? 泄露原因 泄露场景 如何排查 3.Go goroutine泄露的场景? 泄露原因 Goroutine 内进行channel/mutex 等读写操作被一直阻塞。 Goroutine 内的业务逻辑进入死循环,资源一直无法释放。 Goroutine 内的业务逻辑进入长时间等待,有不断新增的 Gorout...
2.Go 互斥锁正常模式和饥饿模式的区别?
46
2024-03-19
《Go语言面试题精讲》
2.Go 互斥锁正常模式和饥饿模式的区别? 正常模式(非公平锁) 饥饿模式(公平锁) 总结 2.Go 互斥锁正常模式和饥饿模式的区别? 在Go一共可以分为两种抢锁的模式,一种是正常模式 ,另外一种是饥饿模式 。 正常模式(非公平锁) 在刚开始的时候,是处于正常模式(Barging),也就是,当一个G1持有着一个锁的时候,G2会自旋的去尝试...
6.Go channel共享内存有什么优劣势?
45
2024-03-19
《Go语言面试题精讲》
6.Go channel共享内存有什么优劣势? 6.Go channel共享内存有什么优劣势? “不要通过共享内存来通信,我们应该使用通信来共享内存” 这句话想必大家已经非常熟悉了,在官方的博客,初学时的教程,甚至是在 Go 的源码中都能看到 无论是通过共享内存来通信还是通过通信来共享内存,最终我们应用程序都是读取的内存当中的数据,只是前者是直接...
7.Go channel发送和接收什么情况下会死锁?
44
2024-03-19
《Go语言面试题精讲》
7.Go channel发送和接收什么情况下会死锁? 7.Go channel发送和接收什么情况下会死锁? 死锁: 单个协程永久阻塞 两个或两个以上的协程的执行过程中,由于竞争资源或由于彼此通信而造成的一种阻塞的现象。 channel死锁场景: 非缓存channel只写不读 非缓存channel读在写后面 缓存channel写入超过缓冲...
6.Go 如何查看GC信息?
44
2024-03-19
《Go语言面试题精讲》
1. GODEBUG=’gctrace=1’ 2. go tool trace 3. debug.ReadGCStats 4. runtime.ReadMemStats 6.Go 如何查看GC信息? 1. GODEBUG=’gctrace=1’ package main func main () { for n :...
4.Go work stealing 机制?
43
2024-03-19
《Go语言面试题精讲》
4.Go work stealing 机制? 概念 窃取流程 选择要窃取的P 从P中偷走一半G 4.Go work stealing 机制? 概念 当线程M⽆可运⾏的G时,尝试从其他M绑定的P偷取G,减少空转,提高了线程利用率(避免闲着不干活)。 当从本线程绑定 P 本地 队列、全局G队列、netpoller都找不到可执行的 g,会...
5.Go 如何控制并发的goroutine数量?
43
2024-03-19
《Go语言面试题精讲》
5.Go 如何控制并发的goroutine数量? 为什么要控制goroutine并发的数量? 用什么方法控制goroutine并发的数量? 5.Go 如何控制并发的goroutine数量? 为什么要控制goroutine并发的数量? 在开发过程中,如果不对goroutine加以控制而进行滥用的话,可能会导致服务整体崩溃。比如耗尽系统资源...
4.Go 读写锁的实现原理?
42
2024-03-19
《Go语言面试题精讲》
4.Go 读写锁的实现原理? 概念 使用场景 底层实现结构 操作: 加读锁 释放读锁 加写锁 释放写锁 注意点 互斥锁和读写锁的区别 4.Go 读写锁的实现原理? 概念 读写互斥锁RWMutex,是对Mutex的一个扩展,当一个 goroutine 获得了读锁后,其他 goroutine可以获取读锁,但不能获取写锁;...
568.新版的golang slice切片扩容机制
42
2024-05-16
《Golang面试题》
引言 测试代码 Go 1.17版本切片扩容 Go 1.18版本切片扩容 总结 引言 Go1.18之前切片的扩容是以容量1024为临界点,当旧容量 < 1024个元素,扩容变成2倍;当旧容量 > 1024个元素,那么会进入一个循环,每次增加25%直到大于期望容量。 然而这个扩容机制已经被Go 1.18弃用了,官方说新的扩容机制能更平滑地过渡。...
1..
«
84
85
86
87
»
..100