【发布时间】:2013-04-05 11:43:57
【问题描述】:
这是我的作业问题之一:
在多线程程序中使用链表有什么问题,有什么替代方案?
我的回答如下,如果有任何其他建议,我将不胜感激:
问题在于缺乏并发性——为了使用链表,我们必须对它使用锁,以便对其持有的内部对象所做的更改是可靠的(因为每个对象都持有对下一个对象的引用),一旦我们锁定了链表,我们基本上是在“关闭”多个线程使用它的选项,另一种选择是数组,因为我们可以单独锁定每个项目。
我完全不确定我的答案,有什么建议吗?...
【问题讨论】:
-
对我来说似乎是一个合法而完整的答案。
-
我猜你写的就是老师要的。列表中的每个元素都持有对下一个元素的引用,如果多个线程同时向链表添加元素,这些引用可能不会同步
标签: java multithreading linked-list