在golang中创建同步列表

时间:2014-12-22 19:15:36

标签: concurrency go

首先,如果这是一个愚蠢的问题,请原谅我。 我想创建一个通用的同步列表(就像在Java中一样),以便在我的Go项目中重用。 我找到了Go的linked list的来源,我想知道将mutex锁添加到列表操作函数就足够了吗?

1 个答案:

答案 0 :(得分:3)

如果您要制作并发安全容器,则需要保护所有对数据的访问权限,而不仅仅是写入。检查元素,甚至调用Len()而不同步读取可能会返回无效或损坏的数据。

使用互斥锁保护整个数据结构可能更容易,而不是实现您自己的并发链表。