如何通过BlockingQueue?

时间:2015-06-04 10:48:54

标签: java blockingqueue

有两个班级。一,frame_size,它有自己的blockingQueue和返回它的方法:

X

但它似乎返回队列的引用。我需要在public int getQueue(){ return TaskQueue; } 的其他班级Y中对其进行操作。那么有没有办法用getter / setter传递队列?

1 个答案:

答案 0 :(得分:1)

public int getQueue()
{
    return TaskQueue;
}

您正在尝试将 TaskQueue类作为 int 而不是您的TaskQueue对象返回。

我不知道您的代码结构如何,但这里有一个您想要做的例子:

class X
{
    private BlockingQueue taskQueue;

    public X()
    {
        taskQueue = new BlockingQueue();
    }

    public BlockingQueue getQueue()
    {
        return taskQueue;
    }
}

你可以在任何其他类中使用它:

X myXClassObject = new X();

myXClassObject.getQueue().blockingQueueMethod();

或以更易理解的方式:

X myXClassObject = new X();

BlockingQueue myQueue = myXClassObject.getQueue();

myQueue.blockingQueueMethod();
myQueue.take();