Java线程运行方法

时间:2013-08-06 06:42:27

标签: java multithreading runnable

在我的赛前我有一个线程,它的run方法必须有Queue作为输入:

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

}

在这种情况下,run方法不是我的runnable类的实现方法,所以我该如何处理这个问题?

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

答案 2 :(得分: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");

}