class RunnerL implements Runnable {
@Override
public void run() {
// TODO Auto-generated method stub
for (int i = 0; i < 10; i++) {
System.out.println("demo3-Hello: " + i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Then, in main function:
Thread t1 = new Thread (() -> new RunnerL().run());
Thread t2 = new Thread (() -> new RunnerL().run());
t1.start();
t2.start();
此代碼有效。但這是否是正確的做法之一?Runnable接口和Lambda,這是正確的方法之一?
此外,爲什麼以下不起作用?
Runnable task3 =() -> new RunnerL();
new Thread (task3).start();
如果我將其更改爲Runnable task3 =() -> new RunnerL().run()
OR Runnable task3 = new RunnerL()
,它的工作原理,爲什麼呢?