正确的同步 - 组合
1、通过final和synchronized来实现正确的同步
public class ImprovedList<T> implements List<T>{
public final List<T> list;
public ImprovedList(List<T> t) {this.list = list;}
public synchronized boolean putIfAbsent(T x){
boolean absent = list.contains(x);
if(absent) list.add(x);
return !absent;
}
}