Thread can define in two ways in java. By extending a Thread class and by implementing a Runnable interface.
Example to define Thread by extending Thread class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
class MyThread extends Thread { public void run() { for(int i=0;i<5;i++) { System.out.println("child thread"); } } } class Main { public static void main(String[] args) { MyThread t=new MyThread(); t.start(); for(int i=0;i<5;i++) { System.out.println("main thread"); } } } |
Output:
1 2 3 4 5 6 7 8 9 10 |
main thread main thread child thread child thread child thread main thread main thread main thread child thread child thread |
Example to define Thread by implementing Runnable interface
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
class MyRunnable implements Runnable { public void run() { for(int i=0;i<5;i++) { System.out.println("child thread"); } } } class Main { public static void main(String[] args) { MyRunnable r=new MyRunnable(); Thread t=new Thread(r); t.start(); for(int i=0;i<5;i++) { System.out.println("main thread"); } } } |
Output:
1 2 3 4 5 6 7 8 9 10 |
main thread child thread child thread main thread main thread main thread main thread child thread child thread child thread |