본문 바로가기

개발

(11)
비동기처리 - Future의 종류 ListenableFuture Google이 개발한 guava 오픈소스 라이브러리에 포함되어 있다. Executor에 task를 제출하고, 돌려 받는 Future 타입의 종류 중 하나이다. (기존의 Executor 대신 ListeningExecutorService를 사용한다.) Callback method를 생성해서 task가 성공했을 때, 실패했을 때의 작업을 미리 지정해놓을 수 있다. 이렇게 Callback method를 생성하는 것은 Futures를 사용하는 것과 ListenableFuture의 addListener 두 가지가 있다. ListeningExecutor와 task 생성 ListeningExecutorService executor = MoreExecutors.listeningDecorat..
비동기 처리 - ExecutorService Executor란? 쓰레드풀을 구현한 구현체. Executor를 선언하고 거기에 task를 등록하면 알아서 적절한 쓰레드를 사용해 작업을 처리한다. (단위작업 - Job 또는 Task, 여기서는 Task로 통일. 참고) Executor의 종류에는 여러 가지가 있지만 여기서는 ExecutorService에 대해서 알아본다. 선언여기서 살펴볼 ExecutorService에서 사용할 쓰레드풀 종류는 3가지가 있다. 12345ExecutorService fixedExecService = Executors.newFixedThreadPool(2); //thread 2개ExecutorService CachedExecService = Executors.newCacahedThreadPool();ExecutorServic..
화살표함수 화살표함수Function에 비해 구문이 짧고 자신의 this, arguments, super 또는 new.target을 바인딩하지 않는다. 화살표함수는 항상 익명이다. 이 함수표현은 메소드함수가 아닌 곳에 적합하므로, 생성자로 사용할 수는 없다. 구문기본 구문(param1, param2, …, paramN) => { statements } (param1, param2, …, paramN) => expression ex) a => { return a * 2 } a => a * 2 // 매개변수가 하나뿐인 경우 괄호는 선택사항: (singleParam) => { statements } singleParam => { statements } // 매개변수가 없는 함수는 괄호가 필요: () => { stateme..