想实现一个线程安全的队列,于是想到用LinkedList
但是
LinkedList lst = (LinkedList)Collections.synchronizedList(new LinkedList());
没有办法cast,不知道有什么方法或者好的建议。
因为是队列,所以想有push和pop的操作,LinkedList比较方便因为有addFist()和removeLast()!
谢谢!
但是
LinkedList lst = (LinkedList)Collections.synchronizedList(new LinkedList());
没有办法cast,不知道有什么方法或者好的建议。
因为是队列,所以想有push和pop的操作,LinkedList比较方便因为有addFist()和removeLast()!
谢谢!
get(0)
remove(size()-1)因为标准的办法就是用synchronizedList
因为同步的是两个不同功能的线程
一个在最后写进去,一个读出来并删除第一个
如果仅仅是synchronize方法的话,例如:
复写的时候synchronized addLast()和synchronized removeFirst()这两个之间可能产生冲突,他们应该同步在同一个互斥体吧?
大家讨论讨论啊
public class TestLinkList
{
public static void main(String[] args)
{
java.util.LinkedList l = new LinkedList();
synchronized (l)
{
.....
}
}
}
{
.....
}这个可以?