包含标签 map 的文章

一个系列彻底搞懂map(终):并发安全map

并发安全的map在日常开发中使用极为频繁,单纯通过map与sync.RWLock结合并给整个map上粗粒度锁的方式效率并不高。在go1.9中引入sync.Map,通过快慢路径的方式提升并发读性能,除此之外还可以用大锁打为小锁的方式减少并发冲突,获得更优的性能表现。

阅读全文

一个系列彻底搞懂map(二):红黑树实现

上文讲到了利用哈希结构实现map,除此之外还可以用红黑树实现。相较于hash结构的实现,红黑树实现虽然查找删除的时间复杂度由O(1)退化为O(logN),但却拥有更优的空间效率,同时还提供了对key排序的功能,因此广泛应用于数据库存储领域。

阅读全文

一个系列彻底搞懂map(一):hash表

map映射结构频繁地运用在日常的开发之中,因此成为了面试中的高频考点,本系列将从map的两种实现(hash以及红黑树)出发,再详解go语言的map,最后讨论如何实现高性能的并发安全map,彻底搞懂map结构的奥秘。

阅读全文