thread

· Java
CompletableFuture는비동기 작업을 만들고(Async), 작업이 끝났을 때 할 일을 등록하고(Callback),여러 비동기 작업을 연결/합치기 위한(Compose/Combine) 도구입니다.기존 Future의 '직접 기다리기(get)만 된다' 한계를 콜백 체이닝 + 예외/타임아웃 처리로 해결합니다.1. 왜 필요한가? (Future의 한계)Future#get()은 블로킹이라 결과가 올 때까지 스레드를 점유합니다. 미래의 결과를 다른 비동기 결과와 조합하거나, 성공/실패에 따라 다른 흐름을 만들기 어렵습니다.타임아웃, 폴백(fallback), 체이닝 같은 고급 패턴을 직접 구현해야 합니다.👉 CompletableFuture는 콜백 기반으로 이 문제를 해결합니다.2. 핵심 용어비동기(Async)..
· Java
1000만 건의 데이터 크롤링을 할 때, 사용한 자바의 멀티스레드 방식입니다:) 처음에 사이트도 느리고, 데이터의 총량도 가늠할 수 없었던 작업이었는데, 크롤링하다 보니, 사이트에 자꾸 요청을 보내서 서버 다운되기도 했고,그래서 사이트 운영자가 서버 업그레이드도 해주고.. 생각해보니, 정말 재밌던 작업이었어요 :)  이번 글은 이 작업에서 사용한 Java의 멀티스레드 방식을 정리해보려 합니다.  ExecutorService와 Future는 Java에서 병렬 작업을 효율적으로 관리하기 위한 도구입니다. 이 글에서는 Future.get()을 활용하여 작업의 결과를 처리하고 동기화하는 방법을 예제와 함께 설명하겠습니다. ExecutorService스레드 풀을 생성하고 관리하는 Java의 인터페이스입니다.비동기..
이진유진
'thread' 태그의 글 목록