스레드 우선순위 지정 방법
- 스레드가 독립적으로 실행되기 때문에 실행될 때마다 출력 순서는 뒤죽박죽
- 스레드 우선순위 지정
스레드객체.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