Java 线程启动时如何传递参数:Lambda 表达式和具名内部类
在 Java 中,启动线程时需要使用 Thread 类,并传入一个 Runnable 对象。如果要在启动线程时传递参数,可以使用 Lambda 表达式或者使用具名内部类。以下是两种方法的示例:
- 使用 Lambda 表达式:
new Thread(() -> getFanAlert(param1, param2)).start();
在 Lambda 表达式中,可以直接调用 getFanAlert 方法,并传递参数 param1 和 param2。
- 使用具名内部类:
class MyRunnable implements Runnable {
private final String param1;
private final int param2;
public MyRunnable(String param1, int param2) {
this.param1 = param1;
this.param2 = param2;
}
@Override
public void run() {
getFanAlert(param1, param2);
}
}
new Thread(new MyRunnable(param1, param2)).start();
在具名内部类 MyRunnable 中,将参数 param1 和 param2 作为成员变量保存,并在 run 方法中调用 getFanAlert 方法,并传递参数。
无论是使用 Lambda 表达式还是具名内部类,都可以在启动线程时传递参数给方法,而不需要使用匿名内部类。
原文地址: http://www.cveoy.top/t/topic/bnf0 著作权归作者所有。请勿转载和采集!