반응형
Java 에서 함수에 로직이 수행도중 잠시 멈추었다가 실행해야 될 경우가 있다.
프로그램은 스레드로 돌기 때문에 Thread 클래스 함수를 사용한다.
스레드를 대기 시켜주는 함수는 2가지가 있는데 wait(), sleep() 가 있다.
Wait() : 동기화된 다중스레드가 같은 오브젝트에 접근하고자 할 때 중지시킨다. .
활성화 할려면 notify(), notifyAll() 실행하면 된다.
Sleep() : 동기화된 다중스레드를 시간으로 중지시킨다.
Public static void sleep(long millis) : 파라미터로 천분의 1초를 받는다
두가지 내용에 대해 알기 쉽도록 예제를 구현하였다.
아래 예제에서 보는 것과 같이 Object 를 중지하는 것은 wait() 이고
While 과 For 문처럼 반복할 때 시간을 통해 중지시키는 것은 sleep() 을
주로 사용한다.
출처 : http://mainia.tistory.com/720
wait(), sleep(), notify(), notifyall()을 쓰려면 객체가 동기화가 되어야 한다!
반응형