Java 8 Runnable example using Lambda expression

Functional interface acts as a type for lambda expression and can be used to invoke lambda expression. java.lang.Runnable is a functional interface as it has only one abstract method, public void run(). We’ll see an example to create Thread without lambda and then with the use of lambda expression.

public class RunnableExampleWithoutLambda {
	public static void main(String args[]) {

		// Implementing Runnable using anonymous class
		Runnable runnable1 = new Runnable() {
			public void run() {
				System.out.println("Runnable not using lambda " + Thread.currentThread().getName());

		System.out.println(Thread.currentThread().getName() + " started");

		Thread thread1 = new Thread(runnable1);

		// Implementing Runnable using lambda
		Runnable runnable2 = () -> System.out.println("Runnable using lambda " + Thread.currentThread().getName());
		Thread thread2 = new Thread(runnable2);


main started
Runnable not using lambda Thread-0
Runnable using lambda Thread-1