![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 start() Method
Description
The Java Thread start() method causes this thread to begin execution, the Java Virtual Machine calls the run method of this thread.The result is that two threads are running concurrently: the current thread (which returns from the call to the start method) and the other thread (which executes its run method).
Declaration
Following is the declaration for java.lang.Thread.start() method
public void start()
Parameters
NA
Return Value
This method does not return any value.
Exception
IllegalThreadStateException − if the thread was already started.
Example: Starting a Thread implementing Runnable Interface
The following example shows the usage of Java Thread start() method. In this program, we've created a thread class ThreadDemo by implementing Runnable interface. In constructor, a new thread is created using new Thread. Using start(), the thread is started which in turn calls the run() method when thread is scheduled to run.
package com.tutorialspoint; public class ThreadDemo implements Runnable { Thread t; ThreadDemo() { // thread created t = new Thread(this, "Admin Thread"); // prints thread created System.out.println("thread = " + t); // this will call run() function System.out.println("Calling run() function... "); t.start(); } public void run() { System.out.println("Inside run() function"); } public static void main(String args[]) { new ThreadDemo(); } }
Output
Let us compile and run the above program, this will produce the following result −
thread = Thread[Admin Thread,5,main] Calling run() function... Inside run() function
Example: Starting a Thread extending Thread Class
The following example shows the usage of Java Thread start() method. In this program, we've created a thread class ThreadDemo by extending Thread class. In constructor, a new thread is created using new Thread. Using start(), the thread is started which in turn calls the run() method when thread is scheduled to run.
package com.tutorialspoint; public class ThreadDemo extends Thread { Thread t; ThreadDemo() { // thread created t = new Thread(this, "Admin Thread"); // prints thread created System.out.println("thread = " + t); // this will call run() function System.out.println("Calling run() function... "); t.start(); } public void run() { System.out.println("Inside run() function"); } public static void main(String args[]) { new ThreadDemo(); } }
Output
Let us compile and run the above program, this will produce the following result −
thread = Thread[Admin Thread,5,main] Calling run() function... Inside run() function