Go 系列文章 7: map

这次的 ascii 图太多了。。。粘到 blog 里毁灭性的不能看,所以还是看原文吧 orz > https://github.com/cch123/golang-notes/blob/master/map.md

packt 出版的书吐槽

从办了双币信用卡开始买英文原版书以后,陆陆续续已经买了几十本了(看得完吗你。 嗯,其实大多数国外出版社的书质量还是可以的,比如 O'Reilly,NoStarch,Manning,Apress,微软之类的出版社。特别是 NoStarch,虽然每本书上面可能都有一条不明所以的彩边,而且封面以屎黄色(汗为主,不过感觉他们的封面设计的都挺好看的,比如下面这样的: 应该是有专门的封面设计师来做的吧。 manning 出版社的一般都是一些少数民族人物的绘作: 挺好看的。 O'Reilly 嘛,大家都熟悉,就是各种各样的动物书: Apress 相对就死板一些: 微软也差不多,沉闷的大公司风格: 唯独这个 Packt。。不知道该怎么吐槽了,

Go 系列文章6: syscall

系统调用 原文地址: > https://github.com/cch123/golang-notes/blob/master/syscall.md 概念 一图胜千言: + - - - - - - - - - - - - - - - User Mode - - -

Go 系列文章5 : 定时器

去年和董大大聊过两句 Go 的定时器,当时大概看了眼代码是四叉堆,不过实现细节忽略掉了。 前几天和刘丁还有董大又聊起定时器的事情,正好就借这个机会把 Go 的定时器实现完整梳理一遍。不涉及 netpoll,因为我还没有看完这部分代码。 董大的文章网络和定时器怎么结合都提到了,感兴趣的可以看 这里 [https://www.jianshu.com/p/427dfe8ad3c0]。 看到两边有一样的图不要奇怪,所以这篇文章可以算联动吗,哈哈。 定时器算是服务端程序是非常重要的功能,特别是和网络或者文件系统打交道的系统,我们都会对每一次 IO 操作都加上合理的超时,以避免各种特定情况下的资源泄露。所以了解定时器的实现还是挺重要的。 PS: 看来

concurrency in go 读书笔记

《concurrency in go》这本书出版于 2017 年八月,里面有些观点还是蛮新颖的,烂大街的我就先不写了,重点写写书里提到的,我之前忽视的观点,以及一些奇技淫巧。 锁的粒度太大的话,有可能造成其它的 goroutine 饥饿 package main import ( "fmt" "sync" "time" ) func main() { var wg sync.WaitGroup var sharedLock sync.Mutex const runtime