2011년 7월 22일 금요일

Threads

Threads(스레드) : 프로세스 내에서 자원을 서로 공유하면서 동작하는 작은 프로그램 단위, 프로세스 보다 빠르게 더 적은 자원으로 동작 가능
Multi Threads(멀티 스레드) : 스래드를 이용하여 여러 작업을 동시에 처리하는 것. 여러 스래드를 실행시켜 동시에 여러 작업을 처리하기 위한 기술
User Threads (사용자 스레드) : 일반적으로 사용자가 작성하는 main()메소드를 칭함
Daemon Threads (데몬 스레드) : 입출력 처리, 가비지 컬렉션, 사용자 스래드의 요청 등을 처리하기 위해 자바가상머신에서 제공하는 스레드. 사용자 스레드를 지원하기 때문에 사용자 스레드가 모두 종료된 이후에는 자동적으로 종료

스래드 생성
Threads 클래스를 상속하는 방법
Runnable interface를 구현하는 방법 : 이 방법은 스레드를 정의하고자 하는 클래스가 이미 다른 클래스를 상속하고 있을 때 사용하는 방법

스래드 상태
Startable state(생성 상태) : Threads클래스나 Runnable인터페이스를 이용하여 스래드를 구현한 후 스레드 객체를 생성한 상태. 해당 스레드를 실행시키기 위해서는 start()메소드를 사용하면 되며 start() 메소드가 호출되면 자바가상머신은 스레드를 실행하기 위한 자원을 할당한 후 스레드를 실행가능 상태로 전이 시킨다. 생성 상태에 있는 스레드를 종료시키기 위해서는 stop()메소드를 호출하면 된다.
Runnable state(실행가능 상태) : start()메소드를 호출하면 실행가능 상태로 전이. 실행가능 상태에 있는 스레드는 자바가상머신의 스케줄링에 의해서 실행가능 여부가 결정되며 실행 가능한 스레드가 존재하면 자바가상머신은 해당 스레드의 run()메소드를 호출하여 실제 코드를 실행. run() 메소드를 실행하고 있는 스레드에서 yield() 메소드가 호출되면 해당 스레드는 대기 상채로 전이.
Runnable state(실행가능 상태)에서 Not Runnable state(실행중지 상태)로 전이하기 위해서는 다음과 같은 조건에 맞아야 함
sleep()메소드 호출
wait()메소드 호출
suspend()메소드 호출
입출력 작업을 하기 위해 대기하는 경우 이다
Not Runnable state(실행중지 상태) : 실행가능 상태에 있던 스레드가 특정 호출로 인해 더 이상 실행을 하지 못하고 실행대기하고 있는 상태. 실행중지 상태의 스레드는 스케줄 되지 않기 때문에 실행되기 위해서는 먼저 실행가능 상태로 전이되어야 함.
실행가능 상태로 전이되기 위해서는 다음과 같은 조건에 맞아야 한다.
sleep() 메소드 호출에 의한 경우는 지정된 시간이 지나야 함
wait() 메소드 호출에 의한 경우는 notify()notifyAll()메소드가 호출되어야 함
suspend() 메소드 호출에 의한 경우는 resume()메소드가 호출되어야 함
입출력 작업을 위해 중지 상태가 된 경우에는 입출력 작업이 완료되어야 함
Dead state(종료 상태) : 스레드는 하나의 실행 단위로서 할 일을 다 마치게 되면 종료 상태로 전이. 종료되는 경우는 run()메소드가 정상적으로 종료되는 경우와 stop()메소드를 통한 강제적으로 종료되는 경우가 있다.
메소드 명
기 능
start()
스레드를 실행 가능 상태로 전이
stop()
스레드의 실행을 중지
sleep(long millis)
지정된 시간 동안 스레드를 쉬게 함
wait()
현재의 스레드를 기다리게 함
suspend()
스레드의 실행을 일시적으로 중단
notify()
wait()메소드에 의해 기다리고 있던 하나의 스레드를 깨움
notifyAll()
wait()메소드에 의해 기다리고 있던 모든 스레드를 깨움
resume()
일시적으로 중단된 스레드를 실행

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...