GO语言
文章平均质量分 90
kwinH
这个作者很懒,什么都没留下…
展开
-
Golang调度器
为什么在内核的线程调度器之外Go还需要一个自己的调度器?POSIX线程API是对已有的UNIX进程模型的逻辑扩展,因此线程和进程在很多方面都类似。例如,线程有自己的信号掩码,可以分配CPU affinity(进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性),可以放入 cgroups中,并且可以查询它们使用的资源。但是这些特性对于Go程序来说都是不必要的开销。另外一个问题是基于Go语言模型,OS的调度决定并不一定合理。例如,Go的垃圾回收需要内存处于一致性的状态,这需要所有转载 2021-09-27 09:25:56 · 271 阅读 · 0 评论 -
深入Go的Map使用和实现原理
开篇语Map是一种常用的kv数据结构,程序设计中经常使用,且作为一种最基础的数据结构,很多编程语言本身提供的api都会有实现,Go也不例外,今天我们将从一下三个方面为大家分析Go中的Map。什么是Map?Go中如何使用Map?以及Go的Map实现机制是什么样?希望通过这几个方面的讲解,让大家真正理解Go的Map使用和实现。什么是Mapkey,value存储最通俗的话说Map是一种通过key来获取value的一个数据结构,其底层存储方式为数组,在存储时key不能重复,当key重复时,v转载 2021-09-26 19:22:20 · 631 阅读 · 0 评论