我有一个队列在我的多线程服务器中实现为链表。我想从另一个类访问这个队列。两个类都在同一个包中。我试图让这个队列为公共静态并通过getter访问它,但没有成功有人可以告诉我什么是确切的问题。从java中的另一个类访问静态变量
这是我的代码: 队列声明:
public static Queue<Request> q=new ConcurrentLinkedQueue<Request>();
public static void setQ(Queue<Request> q) {
Connection.q = q;
}
public static Queue<Request> getQ() {
return q;
}
Accesing队列:
Queue<Request> queue=new ConcurrentLinkedQueue<Request>();
queue=Connection.getQ();
增值的连接线程队列
q.add(r);
发布您的代码的相关部分请 – scibuff 2012-04-23 11:22:52
还有什么是您遇到的实际问题?解释“没有成功”。它是编译问题还是运行时? – maksimov 2012-04-23 11:24:01
请注意在多线程程序上使用非线程安全队列。如果你还没有看过[BlockingQueue](http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/BlockingQueue.html),它可能会对你有所帮助。 – amit 2012-04-23 11:26:01