JinHee's Board
자바 쓰레드와 프로세스 본문
프로세스(Process)
- 프로그램을 실행시켜서 출력시키는 과정
- 운영체제로부터 시스템 자원을 할당받는 작업의 단위
멀티 프로세스 : 여러 프로그램들을 독립적으로 실행시켜 작업
쓰레드(Thread)
- 하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업단위
- 프로세스가 발생했을 때 main 안의 실행문이 하나의 쓰레드
- 프로세스가 할당받은 자원을 이용하는 작업의 단위
멀티 쓰레드 : 하나의 프로세스 에서 여러 쓰레드를 실행시켜 작업
쓰레드의 생성 방법
- Thread 클래스 상속
- Runnable 인터페이스 상속
Thread와 Runnable 차이점
- 객체 생성 가능성의 여부에 차이가 있다.
- Thread는 클래스라 인스턴스화(객체화) 가 가능하다.
- Runnable는 인터페이스 이기 때문에 인스턴스화가 불가능하다.
쓰레드의 생명주기
- Runnable
- 스레드 실행 준비 단계
- start()메소드를 호출하면 run() 메소드 에 설정된 스레드가 Runnable 상태로 진입한다.
- Running
- 실행 상태
- Runnable 상태의 쓰레드 중에서 우선순위가 높은 순서대로 run() 메소드를 실행시켜 Running 상태로 진입한다.
- Dead
- 종료상태
- Blocked
- 지연상태
- wait() 메소드나 sleep(시간) 메소드에 의해 Blocked 상태로 진입할수 있고 wait()은 특정 메소드를 실행시켜서, sleep(시간)은 시간이 지나면 자동으로 Runnable 상태로 전환된다.
'공부한 내용정리 > Java' 카테고리의 다른 글
Socket을 활용한 서버 포트 오픈 체크 (0) | 2021.09.07 |
---|---|
오버로딩과 오버라이딩에 대하여.. (0) | 2020.10.09 |
객체지향의 특징과 5가지원칙 (2) | 2020.10.06 |
객체 지향언어(JAVA)의 특징 상세설명 (0) | 2020.09.11 |
객체지향언어 의 의미와 자바(JAVA)의 특징 (0) | 2020.09.10 |
Comments