데몬 쓰레드 ( daemon thread ) 1. 일반 쓰레드 ( non-daemon thread )의 작업을 돕는 보조적인 역할을 수행 2. 일반 쓰레드가 모두 종료되면 자동적으로 종료된다. 3. 가비지 컬렉터 , 자동저장 , 화면자동갱신 등에 사용된다 4. 무한루프와 조건문을 이용해서 실행 후 대기하다가 특정조건이 만족되면 작업을 수행하고 다시 대기하도록 작성한다. # setDaemon(boolean on)은 반드시 start()를 호출하기 전에 실행되어야 한다 . 그렇지 않으면 IllegalThreadStateException 이 발생한다.
쓰레드 그룹 ( ThreadGroup ) 1. 서로 관련된 쓰레드를 그룹으로 묶어서 다루기 위한 것 2. 모든 쓰레드는 반드시 하나의 쓰레드 그룹에 포함되어 있어야 한다. 3. 쓰레드 그룹을 지정하지 않고 생성한 쓰레드는 ‘main쓰레드 그룹’에 속한다. 4. 자신을 생성한 쓰레드의 그룹과 우선순위를 상속받는다.
쓰레드의 우선순위 ( priority of thread ) 1. 작업의 중요도에 따라 쓰레드의 우선순위를 다르게 하여 특정 쓰레드가 더 많은 작업시간을 갖도록 할 수 있다.
싱글쓰레드의 예제 나란히 for문 한번 , 다음 for문 한번 이렇게 A 끝나면 B의 for문이 실행이 된다 . 이것이 싱글쓰레드이다. 멀티쓰레드의 예제Main문에서 th1.start를 하고 바로 다음에 th2.start를 한다.이 경우 밑에 그래프와 같이 실행이 된다.* A 와 B가 동시에 실행이 되는 경우 ** A 실행하고 , B실행하고 , A실행하고 , B실행하고 ...