首先,如果这是一个愚蠢的问题,请原谅我。我想创建一个通用的同步列表(如在 Java 中)以在我的 Go 项目中重用。我找到了 Go 的链表的来源,我想知道简单地向列表操作函数添加互斥锁是否足够?
1 回答
森栏
TA贡献1810条经验 获得超5个赞
如果要创建并发安全的容器,则需要保护对数据的所有访问,而不仅仅是写入。检查元素,甚至在Len()
不同步读取的情况下调用都可能返回无效或损坏的数据。
使用互斥锁保护整个数据结构可能更容易,而不是实现您自己的并发链表。
- 1 回答
- 0 关注
- 222 浏览
添加回答
举报
0/150
提交
取消