首页 > 代码库 > java给不同步的集合加上同步锁

java给不同步的集合加上同步锁

给非同步的集合加锁:

class MyCollections{//创建工具类,提供对外访问方法    public static list synList(List list){        return new MyList(list);    }            private Class MyList implements List{            private List list;        private static final Object lock = new Object();                MyList(List list){            this.list = list;        }                public boolean add(Object obj){            synchronized(lock)            {            return list.add(obj);            }        }        public boolean remove(Object obj){            synchronized(lock)            {            return list.remove(obj);            }        }            }}

 

List list = new ArrayList(); //非同步的

 

list = MyCollections.synList(list);//返回一个同步的list

 

此过程就是 Coolections 工具类中的 synchronizedList 方法


 

java给不同步的集合加上同步锁