Clean Software/Design Pattern
Future 패턴
스레드는 코드의 실행에 초점이 맞춰져 있고, 그 결과를 받는 시점이 불분명하다. 스레드가 단순히 코드를 실행하는 것에서 끝나는 것이 아니라, 그 실행의 결과를 다른 스레드에서 받기 위한 패턴이다. B 에서 일을 처리한 결과를 C 에 입력해서 처리하고 결과를 받아야 한다고 할때 (체이닝이 필요할때) 메인쓰레드에서는 B 의 결과를 기다렸다가 C 에게 넣어주고 또 C 의 결과를 기다리는 것보다 (비록 멀티쓰레드 프로그래밍을 하고는 있다지만 먼가 답답하다) 메인쓰레드는 그냥 모든것을 잊어버리고 자기 주력의 일을 하고, B 에게 던진일은 알아서 B -> C-> Somthing 이 되게 한다면 효율적일 것이다. 웹어플리케이션으로 얘기하자면 클라이언트의 요청을 받는 놈은 계속 받는일에만 신경쓰고, (요청이 어떻게 처..