01
왜 람다인가?
‘람다 표현식lambda expression’은 나중에 한 번 이상 실행할 수 있도록 전달할 수 있는 코드 블록이다. 람다 표현식의 문법(심지어 낯선 이름)을 살펴보기에 앞서, 한 걸음 물러나 지금까지 자바에서 이와 유사한 코드 블록을 어디서 사용했는지 살펴보자.
별도의 스레드에서 작업하려고 할 때 다음처럼 해당 작업을 Runnable의 run 메서드에 집어넣는다.
class Worker implements Runnable {
public void run() {
for (int i = 0; i < 1000; i++)
doWork();
}
...
}
이 코드를 실행하려고 할 때 Worker 클래스의 인스턴스를 생성한다. 이제 이 인스턴스를 스레드 풀thread pool에 넣거나 간단하게 새로운 스레드를 시작한다.
Worker w = new Worker();
new Thread(w).start();
여기서 핵심은 run 메서드가 별도의 스레드에서 실행하고자 하는 코드를 담고 있다는 점이다.