【发布时间】:2021-10-03 05:27:44
【问题描述】:
我通过两种方式创建 Runner。但是 ::new 不起作用。 然后我在 Runner1 的构造上标记了调试器点。调试器点也不起作用。 谁能告诉我为什么?
Runner1::new中的Runnable有什么区别吗?
这是我的代码。
public static void main(String[] args) {
Runnable n1 = Runner1::new;
Runnable n2 = new Runner2();
ExecutorService executorService = Executors.newFixedThreadPool(2);
executorService.submit(n1);
executorService.submit(n2);
while (true) {
}
}
public static class Runner1 implements Runnable {
public Runner1() {
System.out.println("construct 1");
}
@Override
public void run() {
System.out.println("hello1");
}
}
public static class Runner2 implements Runnable {
public Runner2() {
System.out.println("construct 2");
}
@Override
public void run() {
System.out.println("hello2");
}
}
【问题讨论】:
标签: java lambda threadpool