본문 바로가기

비동기2

자바 비동기 (2) 지난 포스팅에서 비동기에 대해 살짝 알아봤습니다. 기본적인 Thread, Runnable 를 사용하거나, 자바5 부터 생긴 Future, FutureTask, 그리고 web 3.0 부터 지원된 비동기 서블릿이 있었습니다. 그리고 자바 8로 넘어가면서 비동기를 지원하기 위해 CompletableFuture 가 새로 생겼는데요. 이번에는 이 CompleteableFuture 에 대해 알아보도록 하겠습니다. 1. CompletableFuture? 앞에서 언급했듯이 자바는 비동기를 지원하기 위해 Future 이라는 인터페이스가 있었습니다. 그런데, 왜 CompletableFuture 가 추가되었을까요? 여기서 Future 의 인터페이스에 있는 메소드들을 보면, boolean cancel(boolean mayIn.. 2022. 7. 14.
자바 비동기 (1) 최근 학생들에게 학습을 추천해주는 것과 관련된 작업을 하고 있는데요. 주 단위로 추천이 되어 매주 배치를 통해서 추천 학습이 들어가지만, 신규 회원일 경우 배치에서 누락되는 경우가 있어서, 로그인 등의 행위를 했을 때 비동기적으로 데이터를 쌓아줄까 고민을 하고 있습니다. 프로젝트는 Java - Spring 을 기반으로 하고 있는데, 잠깐만 찾아봐도 방법이 많습니다. 이번 글에서는 비동기에 대한 정의 및 올드한 내용에 대해 다뤄볼까 합니다. 1. 비동기 프로그래밍이란? 일단, 비동기를 논하기 전에 왜 비동기가 나왔는지부터 알아야 할 것 같습니다. 기본적으로 메소드를 실행한다는 것은 메소드가 완료될 때까지 그 메소드를 호출한 코드는 기다려야 함(블록킹 blocking) 을 의미합니다. 얼핏 들으면 당연해보입.. 2022. 7. 14.