스레드의 우선순위 설정 자바에서는 스레드의 실행 우선순위를 지정할 수 있습니다. 스레드의 우선순위는 Thread 클래스의 setPriority(int priority) 메서드를 사용하여 지정할 수 있습니다. 우선순위는 정수 값으로 표현되며, MIN_PRIORITY(1)부터 MAX_PRIORITY(10)까지의 범위로 지정할 수 있습니다. 높은 우선순위 값이 더 높은 우선순위를 의미합니다. Thread thread = new Thread(); thread.setPriority(Thread.MAX_PRIORITY); // 최고 우선순위 데몬 스레드 데몬 스레드는 다른 일반 스레드의 보조 역할을 하는 스레드입니다. 주로 백그라운드에서 주기적으로 실행되는 작업을 처리하기 위해 사용됩니다. 데몬 스레드는 모든 일반..
Thread 클래스 상속 Thread 클래스를 상속받아 새로운 스레드 클래스를 정의합니다. 이 클래스는 run 메서드를 오버라이딩하여 해당 스레드가 실행할 작업을 구현합니다. public class MyThread extends Thread { @Override public void run() { System.out.println("스레드 실행"); } } 스레드 객체 생성 새로 정의한 스레드 클래스의 객체를 생성합니다. MyThread thread = new MyThread(); 스레드 실행 스레드 객체의 start() 메서드를 호출하여 스레드를 실행시킵니다. start() 메서드는 스레드의 실행을 위한 준비를 하고, run() 메서드를 호출하여 스레드의 작업을 실행합니다. thread.start();..
Thread 클래스 Thread 클래스는 스레드를 구현하는 데 사용되는 클래스입니다. Thread 클래스를 상속하여 스레드를 구현할 수 있습니다. Thread 클래스의 주요 메서드 run() : 스레드가 실행할 코드를 정의하는 메서드입니다. 이 메서드를 오버라이딩하여 스레드가 수행할 작업을 구현합니다. start() : 스레드를 시작하는 메서드입니다. 스레드를 실행 가능한 상태로 전환하고 스케줄러에 의해 선택될 수 있게 합니다. JVM은 이 스레드의 run 메소드를 호출합니다. sleep(long ms) : 일시적으로 스레드를 일시 정지시키는 메서드로, 지정한 시간(ms) 동안 실행을 중지시킵니다. join() : 다른 스레드의 종료를 기다리는 메서드로, 해당 스레드의 실행이 끝날 때까지 대기합니다. i..
스레드의 생명 주기 New(생성) : 스레드 객체가 생성되었지만 아직 start() 메서드가 호출되지 않은 상태입니다. Runnable(실행 대기) : start() 메서드가 호출되어 스레드가 실행 가능한 상태입니다. Running(실행) : 스레드가 CPU를 할당받아 실행되는 상태입니다. 스레드는 해당 작업을 수행하며 코드를 실행합니다. Blocked(차단) : 스레드가 실행 중에 특정 이벤트 발생 등으로 인해 더 이상 실행을 진행할 수 없는 상태입니다. Runnable 상태로 전환될 때까지 대기를 합니다. Waiting(대기) : 스레드가 특정 조건을 만족할 때까지 기다리는 상태입니다. 스레드가 다른 스레드로부터 신호를 받을 때 사용될 수 있습니다. Timed Waiting(시간 대기) : 대기 시간..
프로세스 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰입니다. 코드, 데이터, 스택, 힙 메모리 영역을 기반으로 작업을 합니다. 다른 프로세스와 독립적인 메모리 공간을 가지고 있습니다. 그래서 하나의 프로세스의 오류가 다른 프로세스에 영향을 미치지 않습니다. 스레드 프로세스 내에서 실행되는 흐름의 단위를 말합니다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 스레드들은 프로세스 내의 주소 공간과 자원을 공유합니다. 스레드 간의 통신이 간단하고 빠르며, 프로세스 간 전환 비용보다 스레드 간 전환 비용이 적습니다. 프로세스 내에서 동작하기 때문에 하나의 스레드의 오류가 다른 스레드에도 영향을 미칠 수 있습니다. 동시에 여..
스레드 정의 스레드는 프로세스 내에서 실행되는 작은 실행 단위로, 프로세스 내부에서 독립적으로 실행되는 작업 단위입니다. 스레드는 프로세스 내의 리소스를 공유하며 동시에 여러 작업을 수행할 수 있는 환경을 제공합니다. 이로써 더 효율적인 다중 작업 처리와 더 빠른 응답을 할 수 있습니다. 스레드 장점 병렬 처리와 동시성 제어 : 스레드를 사용하면 하나의 프로세스 내에서 여러 개의 스레드가 동시에 작업을 수행함으로써 병렬 처리가 가능해집니다. 이는 CPU 코어의 활용도를 높이고 작업 처리 시간을 단축시키는데 도움을 줍니다. 응답 시간 단축 : 멀티스레드 환경에서는 하나의 스레드가 블로킹되어 대기하는 동안 다른 스레드가 작업을 계속 수행할 수 있습니다. 자원 공유 : 스레드는 프로세스 내의 자원(메모리, 파..