>  기사  >  Java  >  Java는 Thread 클래스의 sleep() 함수를 사용하여 스레드 실행을 일시 중지합니다.

Java는 Thread 클래스의 sleep() 함수를 사용하여 스레드 실행을 일시 중지합니다.

WBOY
WBOY원래의
2023-07-24 12:07:561689검색

Java는 Thread 클래스의 sleep() 함수를 사용하여 스레드의 실행을 일시 중지합니다.

Java에서 스레드는 동시 실행의 기본 단위입니다. 스레드 정지 및 제어를 달성하기 위해 Java는 Thread 클래스의 sleep() 메소드를 제공합니다. sleep() 메서드를 사용하면 스레드가 실행을 계속하기 전에 일정 시간 동안 일시 중지할 수 있습니다. 이 기사에서는 코드 예제와 함께 sleep() 메서드를 사용하여 스레드 실행을 일시 중지하는 방법을 소개합니다.

Thread 클래스의 sleep() 메서드는 Thread 클래스를 통해 직접 호출할 수 있는 정적 메서드입니다. 이 메소드의 프로토타입은 다음과 같습니다:

public static void sleep(long millis)

            throws InterruptedException

여기서, millis 매개변수는 일시 중지할 밀리초 수를 나타냅니다. sleep() 메서드가 호출되면 현재 스레드는 실행을 일시 중단하고 차단 상태로 들어간 다음 자동으로 깨어나 지정된 밀리초 후에 실행을 계속합니다. sleep() 메소드는 InterruptedException을 발생시키므로 이 메소드를 사용할 때 예외 처리가 필요하다는 점에 유의해야 합니다.

다음은 sleep() 메서드를 사용하여 스레드 실행을 일시 중지하는 방법을 보여주는 간단한 예입니다.

public class SleepExample {

    public static void main(String[] args) {
        // 创建一个新线程
        Thread thread = new Thread(new MyRunnable());

        // 启动线程
        thread.start();

        try {
            // 主线程暂停500毫秒
            Thread.sleep(500);

            // 中断线程
            thread.interrupt();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    static class MyRunnable implements Runnable {

        @Override
        public void run() {
            try {
                // 线程执行任务
                System.out.println("线程开始执行任务");

                // 线程暂停1秒
                Thread.sleep(1000);

                // 继续执行任务
                System.out.println("线程继续执行任务");
            } catch (InterruptedException e) {
                // 线程被中断,抛出异常
                System.out.println("线程被中断,任务终止");
                return;
            }

            // 线程执行完成
            System.out.println("线程任务执行完成");
        }
    }
}

위 예에서는 먼저 새 스레드가 생성되고 시작됩니다. 그런 다음 기본 스레드는 sleep() 메서드를 호출하여 500밀리초 동안 실행을 일시 중지한 다음 새 스레드를 중단합니다. 새 스레드의 run() 메서드에서 스레드는 먼저 "스레드가 작업 실행을 시작합니다"를 출력한 다음 sleep() 메서드를 호출하여 1초 동안 실행을 일시 중지하고 마지막으로 "스레드가 작업을 계속 실행합니다"를 출력합니다. 새 스레드가 sleep() 메서드를 호출하기 전에 기본 스레드가 새 스레드를 중단하면 새 스레드는 InterruptedException을 발생시키고 "스레드가 중단되어 작업이 종료되었습니다"를 출력합니다.

Thread 클래스의 sleep() 메서드를 사용하면 스레드의 일시 중지 및 재개를 정밀하게 제어하여 멀티 스레드 프로그래밍에서 스레드 간 조정 및 동기화를 달성할 수 있습니다.

위 내용은 Java는 Thread 클래스의 sleep() 함수를 사용하여 스레드 실행을 일시 중지합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.