-1

在我的赛前我有一个线程,它的运行方法必须有队列作为输入:

@Override
public void run(Queue q) {
    // TODO Auto-generated method stub
    A = q.pop();
    System.out.println(A * A + "Pop1");

}

在这种情况下,运行方法不是我的可运行类的实现方法,那么我该如何处理这个问题呢?

4

3 回答 3

3

将队列设置为构造函数中的参数。或者将其添加到 setter 中。从 run 方法中删除参数,但将其保留在方法体中。

于 2013-08-06T06:45:37.877 回答
0

您为 . 编写run具有正确签名的第二种方法Runnable。然后这个人可以以某种方式获取队列并调用另run一种方法。

于 2013-08-06T06:46:16.820 回答
0

从线程的原始 run() 方法,调用 run(Queue q) 方法

@Override
public void run() {

 //call the run(Queue q) method from here
}

public void run(Queue q) {
// TODO Auto-generated method stub
A = q.pop();
System.out.println(A * A + "Pop1");

}

于 2013-08-06T06:46:30.913 回答