摘要: List的接口 从这些接口我们可以看到Go的list应该是一个双向链表,不然InsertBefore这种操作应该不会放出来。 然后我们再从源码看看List的结构 从这里证实了上面的猜想,这是一个双向链表 List的使用 10-14行往list写入1,2,3,4 16行遍历打印list 21-16行打 阅读全文
posted @ 2018-12-14 14:06 JustDotNet 阅读(2252) 评论(0) 推荐(0) 编辑
摘要: 由于map在gorountine 上不是安全的,所以在大量并发读写的时候,会出现错误。 在1.9版的时候golang推出了sync.Map. sync.Map 通过阅读源码我们发现sync.Map是通过冗余的两个数据结构(read、dirty),实现性能的提升。 为了提升性能,load、delete 阅读全文
posted @ 2018-12-14 12:37 JustDotNet 阅读(1343) 评论(0) 推荐(0) 编辑