a3.*_*ity 5 java concurrency lambda java-8
在Concurrency Interest链接中,有一个代码如下: -
exec.schedule( ()-> System.out.println("done"),
1, TimeUnit.SECONDS );
Run Code Online (Sandbox Code Playgroud)
() - >是什么意思?
我检查了eclipse,它不允许.但线程编写者的意图是什么?
Ser*_*nev 10
这是来自JDK8的Lambda语法.
它非常相似(但不完全相同)
exec.schedule(new Runnable() {
public void run() {
System.out.println("done");
}
}, 1, TimeUnit.SECONDS);
Run Code Online (Sandbox Code Playgroud)
这是Lambda Expressions的Java 8语法.
该ScheduledThreadPoolExecutor#exec(..)
方法需要一个Runnable
参数.Runnable
是一个功能接口,因为它只包含一个abstract
方法.因此,编译器可以推断您正在Runnable
使用lambda 定义新实例.
两者之间的部分()
是run()
方法的参数,即.没有.之后的部分->
是方法的主体.
归档时间: |
|
查看次数: |
197 次 |
最近记录: |