我有一个返回 void 且不带参数的函数。将它传递到 ExecutorService.submit 或 ExecutorService.execute 时,我没有看到任何异常并且它有效。但是,根据文档,我们应该将 Runnable 传递给执行,将 Runnable 或 Callable 传递给提交。
Executors.newSingleThreadedExecutor().execute(this::myFunction);
private void myFunction()
{
System.out.println("Testing");
}
另一方面,当我执行以下操作时:
Executors.newSingleThreadedExecutor().execute(() -> (Runnable) this::myFunction);
仍然,我没有看到任何例外。代码编译成功。但它永远不会执行
myFunction
.