- Thread : 프로세스 내의 세부적 실행 단위
- process : 현재 실행중인 프로그램
- multi-processing : 다수의 프로세스가 실행
- multi-threading : 다수의 스레드가 실행
- ex) 동영상 플레이어 실행 - 프로세스
- 영상 스레드
- 음향 스레드 멀티스레딩되어야 한다
- 자막 스레드
- ex) 채팅 클라이언트 실행 - 프로세스
- 서버로부터 정보를 입력받는 스레드 멀티스레딩되어야 한다
- 서버로 정보를 전송하는 스레드
- Thread 생성방법
- extends Thread
- implements Runnable
- Thread 제어
- start() : 스레드를 실행가능상태로 보낸다 실행가능상태 -> 스레드 스케줄링을 기다리는 상태
- run() : 스레드의 실행 행위를 정의 스레드 스케줄링이 되면 run() 메서드가 실행된다
- Thread 스케줄링 방식
: 시분할 방식과 우선순위 방식에서 자바는 우선순위방식을 채택
자바 스레드의 우선순위는 1 ~ 10
가장 낮은 우선순위는 1 , 가장 높은 우선순위는 10이다
우선순위를 별도로 명시하지 않을 경우에는 5가 기본으로 설정된다
Thread 의 setPriority(우선순위) , getPriority() 를 활용하면 된다
우선순위를 부여하면 스케줄링 가능성이 높아지는 것이지
반드시 우선순위가 높다해서 먼저 실행한다는 보장은 없다