2013-03-28 50 views
-1

我想绕过一个打开的jpa拦截器调用并将数据存储在数据库中(目前它只保存在一个数据库中,我需要同步保存在另一个数据库中)。要做到这一点,我需要同步Wrappers.please帮我理解这是什么java中的同步包装器

public static Collection synchronizedCollection(Collection c);

public static Set synchronizedSet(Set s);

public static List synchronizedList(List list);

public static Map synchronizedMap(Map m);

public static SortedSet synchronizedSortedSet(SortedSet s);

public static SortedMap synchronizedSortedMap(SortedMap m);

+1

你应该检查他们的文档。 – 2013-03-28 06:03:37

+0

我把它弄红了,但我不明白 – Sharockz 2013-03-28 06:05:47

+0

默认情况下,集合不是线程安全的,所以你有这些提供同步(线程安全)集合的方法。 – 2013-03-28 06:09:54

回答

0

所有这些方法都会在内部使用实现了Respectable集合接口和Java监视器模式的Class来包装任何作为参数传入的集合。

Java监视器模式正在使用对象级监视器(锁)来同步通过集合接口公开的所有方法。

这种方式即使作为参数传入的集合不是线程安全的。它将被包裹在一个线程安全的对象内部,从而使收集线程安全。

+0

谢谢你的回答 – Sharockz 2013-03-28 10:53:51