java 쓰레드 질문
글쓴이: ybg7955 / 작성시간: 목, 2016/10/06 - 10:09오전
안녕하세요 자바 쓰레드 배운지 얼마안되서 질문드리는데요
예를 들어서
public static void main(String[] args){
SingleThread T1 = new SingleThread();
SingleThread T2 = new SingleThread();
SingleThread T3 = new SingleThread();
SingleThread T4 = new SingleThread();
T1.start();
T2.start();
T3.start();
T4.start();
}
이렇게 해서 쓰레드를 4개를 생성했다고 치면 일단 제가 배운바로는 쓰레드 4개가 동시에 실행되고 start()메소드에 따라서 ready 상태로 갔다가 스케줄러가 우선순위에 따라서 각 쓰레드의 run() 메소드를 실행시키는 이런 방식으로 알고 있는데요 그러면 지금 메인함수안에서 T1,2,3,4 순서대로 코딩을 했는데 그러면 이 코딩된 순서는 상관이없는건가요? 그니까 만약에 T4,2,1,3 이런순서로 코딩해도 지금상태랑 같은 건가 궁금합니다.
Forums:
같은 상태라고 말씀드릴 수 있습니다. 다만..
어떤 쓰레드가 먼저 실행될 지 예측할 수 없다는 것에서 같은 상태라고 할 수 있습니다.
1, 2, 3, 4 순으로 코딩하는 것과 4, 2, 1, 3 순으로 코딩하는 것 중 어느 쓰레드가 반드시 먼저 실행된다고 보장할 수 없습니다.
댓글 달기