ExecutorService有两个重载方法
ExecutorService.submit(Callable)
ExecutorService.submit(Runnable)
在编写以下代码时创建了类Runnable
或Callable
的实例。
executor.submit(()->System.out.println("Running in : " + Thread.currentThread().getName()));
如果这是Runnable
的实例,如何在使用lambda表达式时将Callable
的实例或反之亦然传递给ExecutorService
?
答案 0 :(得分:4)
由于你的lambda没有返回Callable.call()
所需的值,所以它是Runnable
。
答案 1 :(得分:1)
要拥有一个Callable lambda,你必须返回一些东西。
SELECT * FROM (SELECT Dense_Rank () Over (ORDER BY Sal ASC) AS Rnk, Emp.* FROM Emp) WHERE
Rnk=5;