스레드 우선순위, 상태제어

CHM·2022년 4월 21일

Java 활용

목록 보기
11/15

스레드 우선순위 지정 방법

  • 스레드가 독립적으로 실행되기 때문에 실행될 때마다 출력 순서는 뒤죽박죽
  • 스레드 우선순위 지정
스레드객체.setPriority(우선순위 값)
  • 우선순위 값에 1~10 사이 정수 값을 넣는다.(지정하지 않으면 기본값 5 지정)

스레드 상태 제어 방법

  • sleep() : 원하는 시간 동안 스레드 일시 정지
try {
   Thread.sleep(1000); // 1초마다 중지
} catch(InterruptedException e) {
}
  • interrupt() : 스레드 종료
  • join() : 다른 스레드 실행 완료 시까지 대기
ThreadEx2 t = new ThreadEx2();

t.start(); // 0~99까지 더함.
System.out.println(t.sum)
=====> 전체 실행 흐름과 start() 메서드로 스레드가 실행된 것은 각각 다른 실행이기 때문에 "0"이 출력된다.

try {
   Thread.join();
} catch(InterruptedException e) {
}
=====> join() 실행 후에 모든 값이 더해진 값이 출력된다.

출력 결과
0
4950

0개의 댓글