我需要将参数传递给run方法,但是所有解决方案都指定在类构造函数中声明参数。
还有其他方法吗?如果我通过spring bean创建了一个对象,我就无法再次实例化该对象。
答案 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); }
}