This question already has answers here:
How can I pass a parameter to a Java Thread?
(19个回答)
7年前关闭。
假设我想传递以下变量
作为以下线程的参数
有人可以解释如何执行此操作。
谢谢。
(19个回答)
7年前关闭。
假设我想传递以下变量
String foo = "hello world";
作为以下线程的参数
new Thread(new Runnable() {
@Override
public void run() {
// SOME CODE HERE REQUIRES VARIABLE
}
}).start();
有人可以解释如何执行此操作。
谢谢。
最佳答案
声明为final
的局部变量将在线程中可见:
void doSomething(final String foo) {
new Thread(new Runnable() {
@Override
public void run() {
// SOME CODE HERE REQUIRES VARIABLE
System.out.println(foo);
}
}).start();
}