혼공학습단 10기 - 혼자공부하는자바
4주차 기본미션 : p. 550 "직접해보는 손코딩" 코딩 과정 및 실행 결과 캡처하기
운영체제에서 실행중인 하나의 애플리케이션
1개의 애플리케이션은 멀티 프로세스 가능 (메모장 프로그램 2개 띄우기)
하나의 코드 실행 흐름
하나의 프로세스 내부에 여러가지 스레드 생성가능.
단, 하나의 스레드가 예외 발생 시 프로세스 자체가 종료 될 수 있음.
예외처리 중요
// target이라는 Runnable 구현 객체 생성 후 이를 매개값으로 세팅
Thread thread = new Thread(Runnable target);
// Runnable익명 객체를 매가값으로 사용
Thread thread = new Thread(new Runnable(){
public void run(){
// 스레드가 실행할 코드
}
}
작업 스레드는 생성되는 즉시 실행되는 것이 아니라, thread.start() 메소드를 호출해야만 비로소 실행
// Thread 하위 클래스로 작업클래스 생성 후 실행
public class WorkerTread extends Tread {
@Override()
public void run(){
// 스레드가 실행할 코드;
}
}
Thread thread = new WorkerThread();
// Thread 익명 객체로 바로 생성
Thread thread = new Thread {
public void run(){
// 스레드가 실행할 코드
}
};
주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드
주 스레드가 종료되면 데몬스레드도 자동 종료
데몬 스레드의 예시 : 워드프로세서의 자동저장
.setDaemon(true); // start() 호출전에 .setDaemon(true) 호출해야함.
.isDamon(); // 데몬스레드 확인 메소드