如何定义一个线程安全的LinkedList对象?
不能是 List synList = Collections.synchronizedList(new LinkedList());
因为我想使用 LinkedList.addFirst(); 和 removeLast();方法!
谢谢指教!!!
------解决方案--------------------扩展LinkedList 重写addFirst方法和removeLast方法,加上同步处理.不知道是否可行
------解决方案--------------------定义一个类 MyLinkedList extends LinkedList
实现同步LinkedList.addFirst(); 和 removeLast();方法!
MyLinkedList list = new MyLinkedList ();
List listProxy = Collections.synchronizedList(list);
用普通方法时用 listprocxy 的方法, .....................
或者MyLinkedList 全部实现同步
------解决方案--------------------List synList = Collections.synchronizedList(new LinkedList());
LinkedList.addFirst(); ====> list.add(0,obj);
LinkedList.removeLast(); ===> list.remove(list.size());
------解决方案--------------------直接用Collections.synchronizedXXX方法,但要主要你要用容器的iterator()的时候在你的代码外围加上
synchronized(你的集合对象)