草庐IT

algorithm - 并发重读工作负载的数据结构

我正在寻找一种存储32字节字符串并允许使用首选O(1)或O(logN)查找复杂度进行快速查找的数据结构(目标只是确定键是否存在)。删除和插入的复杂性并不重要,因为这些操作很少见。这与问题无关,但我在Go中工作。我可以使用由互斥体支持的hashmap,但争用会是个问题,如果有更好的解决方案,我宁愿避免分片。谢谢 最佳答案 map对于并发读取是安全的。您可以将所需的map放入sync/atomic.Value中,当您想要写入它时,复制map并更改它,然后将其放回Value中。来自docs:Thefollowingexampleshows

重读经典《操作系统:设计与实现》

距离第一次阅读《操作系统:设计与实现》,已经是20多年了。当时,差不多是2002年吧,我已经参加工作了。我大学不是学计算机的,因而也没有上过操作系统的课。第一次去上海,在上海图书馆看到这本书(中文版),就买了回来,读了很多遍。现在,书好像找不到了,只记得是两本,一本是理论,一本是源代码。我庆幸买了这本书。LinusTorvalds说,这本书改变了他的一生。虽然这本书没有改变我的一生,但对我影响也很大。“那年夏天我做了两件事。第一件事是什么都没做。第二件事是读完了719页的《操作系统:设计与实现》。那本红色的简装本教科书差不多等于睡在了我的床上。”——摘自LinusTorvalds自传《Just