A Thread is an independent sequential path of execution within a process / program. Multiple threads can run concurrently in a program . Threads are lightweight as compared to the process as at runtime , they exist in a common memory space and can share process's resources like data and code.
Threads make the runtime environment asynchronous , allowing different tasks to be performed concurrently . In Java , a thread is represented and controlled by an object of class java.lang.Thread.
main() method is executed as a Thread.
When an application ( or a program ) is run, a user thread is created to execute the main() method of the application. This thread is called main thread.
Thread Creation :
A thread in java is represented by an object of class java.lang.Thread and can be created in two ways :
1. Implementing java.lang.Runnable interface.
The Runnable interface defines a method run() that contains the code that is to be executed in a thread. Lets create a thread that says " Hello User ".
2. Extending java.lang.Thread class.
Another way to create a thread is by extending Thread class and override the run() method .The Thread class itself implements Runnable but its run() method does nothing.
Threads make the runtime environment asynchronous , allowing different tasks to be performed concurrently . In Java , a thread is represented and controlled by an object of class java.lang.Thread.
main() method is executed as a Thread.
When an application ( or a program ) is run, a user thread is created to execute the main() method of the application. This thread is called main thread.
Thread Creation :
A thread in java is represented by an object of class java.lang.Thread and can be created in two ways :
1. Implementing java.lang.Runnable interface.
The Runnable interface defines a method run() that contains the code that is to be executed in a thread. Lets create a thread that says " Hello User ".
public class MyRunnable implements Runnable {
// Statements defined in run() methods are executed as a thread.
public void run(){
System.out.println("Hello User");
}
public static void main(String[] args) {
// Creating an object of Thread class and passing a Runnable in its constructor.
Thread thread = new Thread(new MyRunnable());
// Starting a thread.
thread.start();
}
}
Another way to create a thread is by extending Thread class and override the run() method .The Thread class itself implements Runnable but its run() method does nothing.
public class MyThread extends Thread {
public void run() {
System.out.println("Hello User");
}
public static void main(String[] args) {
new MyThread().start();
}
}
