读书人

怎么定义一个线程安全的LinkedList对象

发布时间: 2012-01-21 21:31:43 作者: rapoo

如何定义一个线程安全的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(你的集合对象)

读书人网 >J2SE开发

热点推荐