[혼공단 - 자바] 4주차 : Chapter 12

개발자·2023년 7월 30일
0

혼공학습단 10기 - 혼자공부하는자바
4주차 기본미션 : p. 550 "직접해보는 손코딩" 코딩 과정 및 실행 결과 캡처하기

Chaptor 12. 스레드

12-1. 멀티스레드

프로세스

운영체제에서 실행중인 하나의 애플리케이션
1개의 애플리케이션은 멀티 프로세스 가능 (메모장 프로그램 2개 띄우기)

스레드

하나의 코드 실행 흐름
하나의 프로세스 내부에 여러가지 스레드 생성가능.
단, 하나의 스레드가 예외 발생 시 프로세스 자체가 종료 될 수 있음.
예외처리 중요

작업 스레드의 생성과 실행

  1. Java.lang.Thread 클래스 직접 객체화
// target이라는 Runnable 구현 객체 생성 후 이를 매개값으로 세팅
Thread thread = new Thread(Runnable target);

// Runnable익명 객체를 매가값으로 사용
Thread thread = new Thread(new Runnable(){
	public void run(){
    	// 스레드가 실행할 코드
    }
}

작업 스레드는 생성되는 즉시 실행되는 것이 아니라, thread.start() 메소드를 호출해야만 비로소 실행

  1. Thread 클래스를 상속해서 하위 클래스로 만들어 생성
// Thread 하위 클래스로 작업클래스 생성 후 실행
public class WorkerTread extends Tread {
	@Override()
    public void run(){
    	// 스레드가 실행할 코드;
	}
}
Thread thread = new WorkerThread();

// Thread 익명 객체로 바로 생성
Thread thread = new Thread {
	public void run(){
    	// 스레드가 실행할 코드
    }
};

12-2. 스레드제어

데몬스레드

주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드
주 스레드가 종료되면 데몬스레드도 자동 종료
데몬 스레드의 예시 : 워드프로세서의 자동저장

.setDaemon(true); // start() 호출전에 .setDaemon(true) 호출해야함.

.isDamon(); // 데몬스레드 확인 메소드
profile
룰루랄라

0개의 댓글