![java package tutorial](/java/lang/images/java.jpg)
- Java.lang Package classes
- Java.lang - Home
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang Package extras
- Java.lang - Interfaces
- Java.lang - Errors
- Java.lang - Exceptions
- Java.lang Package Useful Resources
- Java.lang - Useful Resources
- Java.lang - Discussion
Java Thread sleep() Method
Description
The Java Thread sleep(long millis) method causes the currently executing thread to sleep for the specified number of milliseconds, subject to the precision and accuracy of system timers and schedulers.
Declaration
Following is the declaration for java.lang.Thread.sleep() method
public static void sleep(long millis) throws InterruptedException
Parameters
millis − This is the length of time to sleep in milliseconds.
Return Value
This method does not return any value.
Exception
InterruptedException − if any thread has interrupted the current thread. The interrupted status of the current thread is cleared when this exception is thrown.
Example: Using sleep for threads in Multithreaded environment
The following example shows the usage of Java Thread sleep() method. In this program, we've created a thread class ThreadDemo by implementing Runnable interface. In run method, a for loop is running where we are calling sleep() method to create a given delay. In main() method, two threads of ThreadDemo class are created and started to print the result.
package com.tutorialspoint; public class ThreadDemo implements Runnable { Thread t; public void run() { for (int i = 10; i < 13; i++) { System.out.println(Thread.currentThread().getName() + " " + i); try { // thread to sleep for 1000 milliseconds Thread.sleep(1000); } catch (Exception e) { System.out.println(e); } } } public static void main(String[] args) throws Exception { Thread t = new Thread(new ThreadDemo()); // this will call run() function t.start(); Thread t2 = new Thread(new ThreadDemo()); // this will call run() function t2.start(); } }
Output
Let us compile and run the above program, this will produce the following result −
Thread-0 10 Thread-1 10 Thread-0 11 Thread-1 11 Thread-0 12 Thread-1 12
Example: Using sleep for thread in Single Threaded environment
The following example shows the usage of Java Thread sleep() method. In this program, we've created a class ThreadDemo. In main method, current thread is retrieved using currentThread() method and using sleep(), we're introduced a delay of given time and printed the thread.
package com.tutorialspoint; public class ThreadDemo { public static void main(String[] args) { Thread t = Thread.currentThread(); t.setName("Admin Thread"); // set thread priority to 1 t.setPriority(1); try { // thread to sleep for 1000 milliseconds Thread.sleep(1000); } catch (Exception e) { System.out.println(e); } // prints the current thread System.out.println("Thread = " + t); } }
Output
Let us compile and run the above program, this will produce the following result −
Thread = Thread[Admin Thread,1,main]