“ 阅读本文大约需要 2.9 分钟。”
曾经的我是一名艺术生,如今是一名程序员。
聊起画画,相信很多人都有疑惑:同样都是画人物,为什么我画不像,或者说我根本就不知道怎么下手。
“ 阅读本文大约需要 40 分钟。”
上一篇文章 《大白话讲讲 Go 语言的 sync.Map(一)》 讲到 entry 数据结构,原因是 Go 语言标准库的 map 不是线程安全的,通过加一层抽象回避这个问题。
当一个 key 被删除的时候,比如李四销户了,以前要撕掉小账本,现在可以在大账本上写 expunged,
对,什么也不写也是 OK 的。也就是说,
entry.p 可能是真正的数据的地址,也可能是 nil,也可能是 expunged。
“ 阅读本文大约需要 4.25 分钟。”
程序是枯燥乏味的。
在讲 sync.Map 之前,我们先说说什么是 map(映射)。
我们每个人都有身份证号码,如果我需要从身份证号码查到对应的姓名,用 map 存储是非常合适的。
map[000...001] = 张三
map[000...002] = 李四
...
map[999...993] = 钱五
身份证号码有 18 位,如果要知道 111...002 这个人叫什么名字,没有 map 我只能从 000...001 一个一个往下查找,效率是非常低的。
“ 阅读本文大约需要 3.50 分钟。”
趁五一有时间,做个小小的复盘。
4 月 10 日,我当时围绕光环新网写了挺多内容,先回顾一下:
风险:商誉减值、坏账损失风险高、股东人数增多、管理层减持、5G 发展、IDC 建设与上架不及预期、定增不及预期、中美关系影响亚马逊 AWS 业务、市场竞争;