[공학]스레드 ( Thread )
- 최초 등록일
- 2006.11.22
- 최종 저작일
- 2006.11
- 7페이지/ 한컴오피스
- 가격 1,000원
소개글
스레드(Thread)
목차
가. 스레드
나. Thread 클래스를 상속하는 스레드의 생성 및 시작
다. Runnable 인터페이스를 구현하는 스레드의 생성 및 시작
라. 스레드의 종료 및 대기
마. 스레드의 상태
바. 스레드의 우선순위와 자바 스케줄링
사. 스레드 그룹(ThreadGroup)
본문내용
가. 스레드
하나의 프로그램을 프로세스라고 볼 때, 스레드는 하나의 프로그램 내에서의 실행 단위라고 할 수 있습니다. 자바에서는 각 작업(타스크)을 스레드로 표현하도록 하고, 이러한 스레드를 여러 개 둘 수 있도록 함으로써 멀티타스킹을 가능하게 해 줍니다. 다시 말해서, 자바에서는 멀티태스킹을 여러 개의 스레드를 동시에 수행하는 멀티스레딩을 이용하여 해결하고 있습니다. 따라서, 자바 가상머신은 하나의 애플리케이션이 동시에 수행되는 여러 개의 스레드를 가질 수 있도록 하고 있습니다. 물론, 일의 우선순위가 존재하듯이 모든 스레드는 그 우선순위를 가지게 됩니다.
자바 가상머신이 시작할 때는 데몬 스레드가 아닌 단 하나의 스레드가 존재하며, 이 스레드는 일반적으로 실행하려는 애플리케이션의 main() 메소드를 호출하도록 되어 있습니다. 자바 가상머신이 시작할 때부터 존재하는 이 스레드는 다음과 같은 경우가 발생할 때까지 계속적으로 수행됩니다.
- Runtime 클래스의 exit() 메소드가 호출되고, 보안 관리자(security manager)가 exit 동작이 수행되도록 허락할 때
- 스레드의 run() 메소드의 수행이 끝나고 리턴되거나 또는 stop() 메소드가 수행되는 등 데몬 스레드가 아닌 모든 스레드가 죽었을 때
자바에서는 이러한 스레드를 표현할 수 있도록 하기 위해 Thread 클래스를 상속하여 확장하는 방법, Runnable 인터페이스를 구현하는 방법 등 두 가지 방법을 제공해 주고 있습니다. 먼저, Thread 클래스를 상속하여 확장하는 방법에 대하여 살펴보고, 다음으로 Runnable 인터페이스를 구현하여 스레드로 실행시키는 방법에 대하여 살펴보도록 하겠습니다.
참고 자료
없음