如何传递 BlockingQueue?
How to pass BlockingQueue?
有两个class。一, X
,有它自己的 blockingQueue 和返回它的方法:
public int getQueue(){
return TaskQueue;
}
但它似乎是 returns 队列的参考。我需要在其他 class Y
那里进行操作 x.getQueue().take();
。那么有什么方法可以通过 getters / setters 传递队列吗?
public int getQueue()
{
return TaskQueue;
}
您正在尝试将 TaskQueue class 作为 int 而不是您的 TaskQueue 对象返回。
我不知道你的代码结构如何,但这里有一个你想做的例子:
class X
{
private BlockingQueue taskQueue;
public X()
{
taskQueue = new BlockingQueue();
}
public BlockingQueue getQueue()
{
return taskQueue;
}
}
你可以在任何其他地方使用它 class:
X myXClassObject = new X();
myXClassObject.getQueue().blockingQueueMethod();
或者更容易理解的方式:
X myXClassObject = new X();
BlockingQueue myQueue = myXClassObject.getQueue();
myQueue.blockingQueueMethod();
myQueue.take();
有两个class。一, X
,有它自己的 blockingQueue 和返回它的方法:
public int getQueue(){
return TaskQueue;
}
但它似乎是 returns 队列的参考。我需要在其他 class Y
那里进行操作 x.getQueue().take();
。那么有什么方法可以通过 getters / setters 传递队列吗?
public int getQueue()
{
return TaskQueue;
}
您正在尝试将 TaskQueue class 作为 int 而不是您的 TaskQueue 对象返回。
我不知道你的代码结构如何,但这里有一个你想做的例子:
class X
{
private BlockingQueue taskQueue;
public X()
{
taskQueue = new BlockingQueue();
}
public BlockingQueue getQueue()
{
return taskQueue;
}
}
你可以在任何其他地方使用它 class:
X myXClassObject = new X();
myXClassObject.getQueue().blockingQueueMethod();
或者更容易理解的方式:
X myXClassObject = new X();
BlockingQueue myQueue = myXClassObject.getQueue();
myQueue.blockingQueueMethod();
myQueue.take();