如何传递一个参数来运行方法而不在contructor中指定它

时间:2016-03-04 00:23:28

标签: java multithreading

我需要将参数传递给run方法,但是所有解决方案都指定在类构造函数中声明参数。

还有其他方法吗?如果我通过spring bean创建了一个对象,我就无法再次实例化该对象。

1 个答案:

答案 0 :(得分:0)

当然,您可以在施工后在Runnable上设置属性。

只需确保您具有正确的同步,因为在执行线程启动后可能会更改此属性。

final class MyTask implements Runnable {
  private volatile int parameter;
  void setParameter(int parameter) { this.parameter = parameter; }
  @Override public void run() { System.out.printf("parameter: %d%n", parameter); }
}