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
.