Concurrency

Java

Thread vs Runnable 차이 완벽 정리 (자바 멀티스레드 초보자용 설명)

자바 멀티스레드 공부 시작하면 거의 무조건 만나게 되는 두 가지가 있다.👉 Thread👉 Runnable처음에는:"둘 다 스레드 만드는 거 아닌가?"싶다.맞다.둘 다 스레드를 만들 수 있다.근데 내부 개념과 사용 방식은 꽤 다르다.이 차이를 제대로 이해하면:✔ 자바 멀티스레드 구조✔ 객체지향 설계✔ ExecutorService✔ Thread Pool✔ 실무 스레드 설계 방식이런 개념들이 한 번에 연결된다.그리고 면접에서도 진짜 자주 나온다.오늘은 Thread vs Runnable 차이를 초보자 기준으로 쉽게 정리해보겠다.먼저 스레드(Thread)란?👉 프로그램 안에서 실제 작업을 수행하는 실행 흐름예시:✔ 게임 캐릭터 이동✔ 음악 재생✔ 채팅 처리이런 걸 동시에 실행 가능하게 만든다.Thread 방..

Java

CancellationException 완벽 정리 (Future cancel 후 get 오류 원인 + 해결 방법)

자바에서 멀티스레드나 비동기 처리하다 보면, 갑자기 이런 예외를 보게 된다.👉 CancellationException이건 다른 예외처럼 “버그”라기보다는,👉 작업이 취소되었을 때 정상적으로 발생하는 예외에 가깝다.그래서 개념을 제대로 이해하는 게 중요하다.CancellationException 이란?👉 "작업이 취소(cancel)된 상태에서 결과를 가져오려고 할 때 발생하는 예외"즉,✔ 이미 취소된 작업인데✔ 결과를 꺼내려고 하면 터진다가장 기본적인 예제 (Future)import java.util.concurrent.*;public class Main { public static void main(String[] args) throws Exception { ExecutorServ..

Coding_Slowly
'Concurrency' 태그의 글 목록