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();
このコードは機能します。しかし、これは正しい方法の1つですか?Runnable InterfaceとLambdaは正しい方法ですか?
また、なぜ次は機能しませんか?私はRunnable task3 =() -> new RunnerL().run()
OR Runnable task3 = new RunnerL()
に変更した場合
Runnable task3 =() -> new RunnerL();
new Thread (task3).start();
、それは動作しますが、なぜですか?