Spec-Zone .ru
спецификации, руководства, описания, API
След: Существенные Классы
Урок: Параллелизм
Раздел: Объекты Потока
Приостановка Выполнения со Сном
Домашняя страница > Существенные Классы > Параллелизм

Приостановка Выполнения со Сном

Thread.sleep заставляет текущий поток приостанавливать выполнение за установленный период. Это - действенные средства того, чтобы делать процессорное время, доступное для других потоков приложения или других приложений, которые могли бы работать на компьютерной системе. sleep метод может также использоваться для того, чтобы следовать, как показано в примере, который следует, и ожидающий другого потока с режимами работы, у которых, как понимают, есть требования времени, как с SimpleThreads пример в более позднем разделе.

Две перегруженных версии sleep обеспечиваются: тот, который определяет время сна к миллисекунде и тому, который определяет время сна к наносекунде. Однако, эти времена сна, как гарантируют, не будут точны, потому что они ограничиваются услугами, предоставленными базовым ОС. Кроме того, период сна может быть завершен прерываниями, как мы будем видеть в более позднем разделе. В любом случае невозможно принять тот вызов sleep приостановит поток за точно определенный период времени.

SleepMessages использование в качестве примера sleep напечатать сообщения в четырехсекундных интервалах:


public class SleepMessages {
    public static void main(String args[])
        throws InterruptedException {
        String importantInfo[] = {
            "Mares eat oats",
            "Does eat oats",
            "Little lambs eat ivy",
            "A kid will eat ivy too"
        };

        for (int i = 0;
             i < importantInfo.length;
             i++) {
            //Pause for 4 seconds
            Thread.sleep(4000);
            //Print a message
            System.out.println(importantInfo[i]);
        }
    }
}

Заметьте это main объявляет что это throws InterruptedException. Это - исключение это sleep броски, когда другой поток прерывает текущий поток в то время как sleep является активным. Так как это приложение не определило другой поток, чтобы вызвать прерывание, это не потрудилось ловить InterruptedException.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Определение и Запуск Потока
Следующая страница: Прерывания