스레드의 생명 주기 New(생성) : 스레드 객체가 생성되었지만 아직 start() 메서드가 호출되지 않은 상태입니다. Runnable(실행 대기) : start() 메서드가 호출되어 스레드가 실행 가능한 상태입니다. Running(실행) : 스레드가 CPU를 할당받아 실행되는 상태입니다. 스레드는 해당 작업을 수행하며 코드를 실행합니다. Blocked(차단) : 스레드가 실행 중에 특정 이벤트 발생 등으로 인해 더 이상 실행을 진행할 수 없는 상태입니다. Runnable 상태로 전환될 때까지 대기를 합니다. Waiting(대기) : 스레드가 특정 조건을 만족할 때까지 기다리는 상태입니다. 스레드가 다른 스레드로부터 신호를 받을 때 사용될 수 있습니다. Timed Waiting(시간 대기) : 대기 시간..
프로세스 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰입니다. 코드, 데이터, 스택, 힙 메모리 영역을 기반으로 작업을 합니다. 다른 프로세스와 독립적인 메모리 공간을 가지고 있습니다. 그래서 하나의 프로세스의 오류가 다른 프로세스에 영향을 미치지 않습니다. 스레드 프로세스 내에서 실행되는 흐름의 단위를 말합니다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 스레드들은 프로세스 내의 주소 공간과 자원을 공유합니다. 스레드 간의 통신이 간단하고 빠르며, 프로세스 간 전환 비용보다 스레드 간 전환 비용이 적습니다. 프로세스 내에서 동작하기 때문에 하나의 스레드의 오류가 다른 스레드에도 영향을 미칠 수 있습니다. 동시에 여..
스레드 정의 스레드는 프로세스 내에서 실행되는 작은 실행 단위로, 프로세스 내부에서 독립적으로 실행되는 작업 단위입니다. 스레드는 프로세스 내의 리소스를 공유하며 동시에 여러 작업을 수행할 수 있는 환경을 제공합니다. 이로써 더 효율적인 다중 작업 처리와 더 빠른 응답을 할 수 있습니다. 스레드 장점 병렬 처리와 동시성 제어 : 스레드를 사용하면 하나의 프로세스 내에서 여러 개의 스레드가 동시에 작업을 수행함으로써 병렬 처리가 가능해집니다. 이는 CPU 코어의 활용도를 높이고 작업 처리 시간을 단축시키는데 도움을 줍니다. 응답 시간 단축 : 멀티스레드 환경에서는 하나의 스레드가 블로킹되어 대기하는 동안 다른 스레드가 작업을 계속 수행할 수 있습니다. 자원 공유 : 스레드는 프로세스 내의 자원(메모리, 파..