스레드 : 프로세스 내부에서 코드의 실행 흐름
멀티 태스킹 : 두 가지 이상의 작업을 동시에 처리하는 것
멀티 스레드 : 하나의 프로세스가 두 가지 이상의 작업 처리
💡 UI 가 뭐지? → User Interfacemain() 메소드의 첫 코드부터 아래로 순차적으로 실행
메인 스레드
작업 스레드
동시에 병렬로 작업을 처리하기 위해서 사용
공유 객체를 사용할 때 주의할 점이 있다
임계 영역 : 멀티 스레드 프로그램에서 단 하나의 스레드만 실행할 수 있는 코드 영역
동기화 메소드 (synchronized method) : 스레드가 객체 내부의 동기화 메소드를 실행하면 즉시 객체에 잠금을 걸어 다른 스레드가 동기화 메소드를 실행하지 못하도록 한다
실행 대기 상태, 실행 상태, 종료 상태
스레드를 안전하게 제어할 필요가 있다
interrupt(), sleep(long millis(), stop()
데몬 스레드 : 주 스레드의 작업을 돕는 보조적인 역할을 수행하는 스레드, 주 스레드가 종료되면 데몬 스레드는 강제적으로 자동 종료된다