thread.sleep 예제

Thread.sleep을 사용하면 현재 스레드가 지정된 기간 동안 실행을 일시 중단합니다. 이는 컴퓨터 시스템에서 실행 중인 응용 프로그램 또는 다른 응용 프로그램의 다른 스레드에서 프로세서 시간을 사용할 수 있도록 하는 효율적인 수단입니다. 다음 예제와 같이 수면 방법을 사용하여 다음 섹션의 SimpleThreads 예제와 마찬가지로 시간 요구 사항이 있는 것으로 이해되는 다른 스레드를 기다리는 경우도 있습니다. 이 예제를 실행하면 다음과 같은 출력이 생성됩니다: SleepMessages 예제는 절전 을 사용하여 4초 간격으로 메시지를 인쇄합니다. 초 마다. 언제나처럼 GitHub에서 이 문서에서 제공하는 예제를 확인할 수 있습니다. 위의 예에서 볼 수 있듯이 실제 일시 중지 시간은 위의 섹션에서 언급한 것보다 연기됩니다. 이 짧은 기사에서는 핵심 Java의 표준 sleep() 및 wait() 메서드를 살펴보고 이들 간의 차이점과 유사점을 이해합니다. startTime 캡처 문 실행 및 실제 절전 문으로 인해 차이가 오고 있다고 생각합니다.

모든 스레드 실행은 OS가 허용하는 방법에 따라 달라지므로 설명도 정확하다는 것을 이해합니다. 감사 그 기사에 끝으로 이르게. 그것은 당신을 위해 도움이 되었습니다 희망. 간단히 말해서 wait()는 스레드 동기화에 사용되는 인스턴스 메서드입니다. 위의 프로그램을 실행하면 인쇄되는 스레드 절전 시간이 2000보다 약간 더 큽합니다. 이는 스레드 절전 모드의 작동 방식과 스레드 스케줄러의 운영 체제 특정 구현에 의해 발생합니다. Java에서 모든 프로그램은 주 스레드인 명시적으로 시작하지 않고 실행을 시작하는 비 악마 스레드로 시작합니다. 이 절전 과부하는 시간 초과의 총 밀리초 수를 사용합니다.

분수 밀리초는 삭제됩니다. 스레드는 지정된 시간 동안 운영 체제에서 실행을 예약하지 않습니다. 이 메서드는 WaitSleepJoin을 포함하도록 스레드의 상태를 변경합니다. 지정된 밀리초 및 나노초에 대한 현재 스레드의 실행을 일시 중지하는 데 사용할 수 있는 또 다른 오버로드 된 방법 sleep(긴 밀리, int nanos)이 있습니다. 허용된 나노 초 값은 0과 999999 사이입니다. sleep() : 스레드가 주어진 시간 동안 실행이 확실히 중지됩니다. 다른 스레드 나 프로세스를 실행할 필요가 없는 경우 CPU는 유휴 상태가 됩니다(절전 모드로 들어갈 수 있음).