Java 8 Lambda를 이용한 Execute around pattern #2 - lock 관리 실행 어라운드 패턴(Execute around pattern)에 대한 두번째 예시 입니다. 먼저 1번글에서는 resource의 명시적인 해제시 해체할 수 있는 틀(try-catch-with-resource)를 만들어 넣고 내부에 인자로 실제 동작해야 할 구문을 넣는 형태를 얘기했었습니다.이때 인자는 당연히 functional interface 입니다. 같은 방법으로 이번에는 lock을 사용하는 방법을 알아봅니다.잠금(lock)의 관리lock은 왜 써야 할까요?저는 사실 synchronized만 쓴 터라 lock의 개념이 무척 궁금했더랍니다.Java5부터 추가된 개념으로 동기화를 좀더 디테일?? 하게 관리하기 위해서 사용합니다. 예를 들면 하나의 함수 블럭을 넘어간다던가, 무작정 lock을 대기하는게 아니.. 개발이야기/Java 7년 전
Java 8 Lambda를 이용한 Execute around pattern #1 - resource 관리 lambda를 접하고 나면 이를 활용하는 방법으로 execute around pattern이란 용어가 나옵니다. 이번에는 가장 기본이 되는 Execute around pattern에 대해서 얘기합니다. Execute Around Pattern 이란??어떤한 작업을 할 때 준비 -> 실행 -> 정리의 역할이 구분되어 있는 코드들이 있습니다. 준비와 정리는 틀처럼 정해져 있고 실행부분만 바뀌는 코드의 형태들을 실행 어라운드 패턴이라고 합니다 어떤 동작을 할지 코드내에서 구현하는것이 아니라, 공통적으로 사용되는 코드를 template처럼 만들어 두고, 변경되는 부분은 호출(caller)하는 곳에서 구현해서 넘겨줍니다. 아래 예제에서는 파일 IO로 설명합니다. 파일IO를 쓰려면 스트림이나 파일을 열고 원하는 내.. 개발이야기/Java 7년 전