스레드의 생명주기와 제어 (Lifecycle, join, interrupt)

java-icon
2026. 01. 27.·Java

자바 스레드는 New, Runnable, Terminated 외에도 Lock 획득을 대기하는 Blocked, 신호를 기다리는 Waiting 등 다양한 상태를 가집니다. 개발자는 join()으로 작업 순서를 맞추거나, interrupt()로 안전하게 중단 요청을 보낼 수 있습니다. 스레드의 상태 흐름과 제어 기법을 이해하는 것은 동시성 프로그래밍의 기초입니다.

프로세스와 스레드, 자바 메모리 구조

java-icon
2026. 01. 27.·Java

멀티태스킹은 CPU 시간을 쪼개어 동시성을 흉내 내는 기술이며, 실제 병렬 처리는 멀티프로세싱입니다. 프로세스는 독립된 메모리를 갖는 ‘공장’, 스레드는 스택만 독립적으로 갖고 힙을 공유하는 ‘일꾼’입니다. JVM 메모리 중 스레드끼리 공유하는 Heap 영역은 동시성 문제의 원인이 되기도 합니다. 유연한 확장을 위해 스레드 구현 시 Runnable 인터페이스 사용을 권장합니다.