Collections工具类可以将List接口中线程不安全的工具类转换为线程安全的对象
Collections工具类跟Vector相比,Collections的代码灵活度更好,性能更好
Collections工具类同步代码本质如下
public E get(int index) { synchronized (mutex) {return list.get(index);} } public E set(int index, E element) { synchronized (mutex) {return list.set(index, element);} } public void add(int index, E element) { synchronized (mutex) {list.add(index, element);} } public E remove(int index) { synchronized (mutex) {return list.remove(index);} }
举个栗子
private static List list=new ArrayList(); List syncList = Collections.synchronizedList(list);
Collections源码
public staticList synchronizedList(List list) { return (list instanceof RandomAccess ? new SynchronizedRandomAccessList<>(list) : new SynchronizedList<>(list)); }
其它对象转换方法如下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)