07 2021 档案

Golang GC
摘要:Go的垃圾回收官方形容为 非分代 非紧缩 写屏障 三色并发标记清理算法。非分代:不像Java那样分为年轻代和年老代,自然也没有minor gc和maj o gc的区别。非紧缩:在垃圾回收之后不会进行内存整理以清除内存碎片。写屏障:在并发标记的过程中,如果应用程序(mutator)修改了对象图,就可能 阅读全文

posted @ 2021-07-23 09:54 菜鸟的进击 阅读(260) 评论(0) 推荐(0)

nil channel与closed channel的读写
摘要:nil channel与closed channel的读写 名词解释 nil channel:未初始化的channel,即没有执行make操作closed channel:执行了closed操作的channel 读写结果 对这两种特殊channel执行读写操作会发生什么呢? 对nil channel 阅读全文

posted @ 2021-07-22 10:36 菜鸟的进击 阅读(222) 评论(0) 推荐(0)

go-mutex的模式
摘要:go-mutex的模式 go-mutex的模式 1. 正常模式 2. 饥饿模式 mutex是golang提供的基础并发原语,可以帮助我们处理多goruntine并发访问共享资源的问题。每个goruntine都要再获取到锁之后才能操作共享资源,完成操作释放锁,保证了共享资源的读写安全性。 但这种方式也 阅读全文

posted @ 2021-07-22 10:16 菜鸟的进击 阅读(601) 评论(0) 推荐(0)