1편 스레드 객체생성 및 실행 2편 스레드 우선순위와 객체공유 및 동기화 3편 스레드 상태 및 제어 스레드 상태확인은 스레드 클래스에 있는 getState() 메소드를 사용하면 Thread.State 열거 상수를 리턴한다. 순서는 객체생성 > 실행대기 > 일시정지 > 실행대기 > 종료 순으로 상태가 변한다. package test; import java.lang.Thread.State; public class Ex2 { public static void main(String[] args) { /* * 상태열거상수 설명 * 객체생성NEWstart()메소드가 호출되지 않은 상태 * 실행대기RUNNABLE실행 상태로 언제든지 갈 수 있는 상태 * * 일시정지WAITING다른 스레드가 통지할 떄까지 기다리는 상..
1편 스레드 객체생성 및 실행2편 스레드 우선순위와 객체공유 및 동기화3편 스레드 상태 및 제어 =============알아두기싱글코어 cpu를 이용한 멀티스레드 작업은 스레드가 번갈아가며 실행하는 동시성이라 하고멀티코어 cpu에서 개별스레드를 동시에 작업하는것을 병렬성이라한다.============= 스레드 우선순위란?스레드 스케줄링에 의해 스레드들이 짦은 시간에 번갈아가면서 run()메소드를 조금씩 실행하는데 우선순위 설정으로 높은 우선순위가 낮은 우선순위 스레드보다 실행 상태를 더 많이 가지도록 스케줄링하는 것을 말한다.우선순위는 1부터 10까지 있으며 1이 가장 우선순위가 낮고 기본적으로 따로 설정이 없으면 5로 설정이된다. package test; public class Ex2 { public ..
1편 스레드 객체생성 및 실행2편 스레드 우선순위와 객체공유 및 동기화3편 스레드 상태 및 제어 =============알아두기스레드란 한가지 작업을 실행하기 위해 순차적으로 실행할 코드를 실처럼 이어 놓았다고 해서 유래된 이름이다.============= 스레드 객체생성 및 사용방법 package test; public class Ex1 { public static void main(String[] args) { /* * Runnable은 스레드가 실행할 수 있는 코드를 가지고있는 객체고 * 인터페이스타입이라 구현 객체를 만들어 대입해야한다. * run()메소드가 정의되어있어 재정의해 스레드가 실행할 코드를 작성한다. */ // 1.인터페이스 방식 Runnable runnable1 = new Runna..