从代码来看,在LinkedListArayBlockingQueue情况下,处理成员所有权的方式似乎有所不同。
(其他人也可能是相同的-但到目前为止,我只专注于以上内容。)

ArrayBlockingQueue的情况下,所有权似乎是从输入线程转移到提取线程的-在LinkedList中,放置在对象中的线程会维护对它的引用,即使在被对象检索到之后也是如此。单独的线程(可能)。

我的理解正确吗?
为什么我们在行为上有这种差异?
(在这里,我使用实例和线程作为同义词,因为实例将在特定线程中运行。)

最佳答案

LinkedList完全不提供任何线程安全性或同步性。您有责任自己做。

concurrent软件包集合确实提供了集合本身的线程安全性,但是您仍然负责管理可能对集合中的对象进行的任何修改。

Java中没有对象“所有权”的概念。

10-06 16:08