Java 包装并发集合

Java 包装并发集合,java,java.util.concurrent,Java,Java.util.concurrent,我在一个类中包装Java的ConcurrentLinkedQueue集合。我有一个名为addToQueue的方法,它获取一个值并将该值插入ConcurrentLinkedQueue。我的方法不同步有关系吗?我的理解是,这并不重要,因为集合本身是并发的。多个线程应该能够调用myaddToQueue方法。如果只调用包装列表中的一个方法,则不需要同步它。但是如果您调用多个,例如if(list.size()

我在一个类中包装Java的
ConcurrentLinkedQueue
集合。我有一个名为
addToQueue
的方法,它获取一个值并将该值插入
ConcurrentLinkedQueue
。我的方法不同步有关系吗?我的理解是,这并不重要,因为集合本身是并发的。多个线程应该能够调用my
addToQueue
方法。

如果只调用包装列表中的一个方法,则不需要同步它。但是如果您调用多个,例如
if(list.size()<3){list.add(obj);}
,那么您必须同步该bloc(考虑2个线程进入,可以添加3个以上的项)。如果您只调用包装列表中的一个方法,那么不,您不必同步它。但是如果调用多个,例如
if(list.size()<3){list.add(obj);}
,则必须同步该bloc(考虑2个线程进入,可以添加3个以上的项)