hofft, implementiert zu werden, besteht darin, eine solche Funktion fürList
提供一个原子操作:若没有则添加。因为ArrayList
本身不是线程安全的,所以通过集合Collections.synchronizedList
将其转换为一个线程安全的类,然后通过一个辅助的方法来为List
zu erreichen.
class BadListHelper { public List list = Collections.synchronizedList(new ArrayList()); public synchronized boolean putIfAbsent(E x) { boolean absent = !list.contains(x); if (absent) list.add(x); return absent; } }
Ist dieser Code thread-unsicher? Wenn ja, können Sie es beweisen? Danke
用
ConcurrentSkipListSet
不就行了不重复的List,不就是个Set?,需要原子,不就是线程安全的Set?