1. Functional Interface java 8:
The interface having one abstract method is called the functional interface. E.g. Comparator, Runnable interface. The runnable interface will look like as follows
@FunctionalInterface
public interface Runnable {
public abstract void run();
}
We have discussed about the Create threads using runnable interface. In current post, we will see how can we create Runnable task using Java 8 lambda.
2. Create thread using anonymous class:
//Tradition approach 1
Thread traditionalThread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Runnable Traditional approach 1");
}
});
3. Create task in java using Runnable functional interface:
We will simply omit the anonymous class and we will have much cleaner code as
Runnable myTask = () -> System.out.println("Runnable using Java 8 lambda approach");
4. Program – create task using runnable functional interface
package org.learn;
class MyTask implements Runnable {
public void run() {
System.out.println("Runnable Traditional approach 2");
}
}
public class RunnableUsingJava8 {
public static void main(String[] args) throws InterruptedException {
// Tradition approach 1
Thread traditionalThread = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Runnable Traditional approach 1");
}
});
traditionalThread.start();
// Tradition approach 2
Thread traditionalThread2 = new Thread(new MyTask());
traditionalThread2.start();
// Runnable using java 8 lambda
Runnable myTask = () -> System.out.println("Runnable using Java 8 lambda approach");
Thread thread = new Thread(myTask);
thread.start();
}
}
5. Output – Task using runnable functional interface (java 8)
Runnable Traditional approach 1 Runnable Traditional approach 2 Runnable using Java 8 lambda approach