There are two ways you can create threads
- By extending Thread class from java.lang package
- By Implementing Runnable interface
Lets explore these methods one by one
By extending Thread class
Extend thread class in your public class and override run method from Thread class. "run" method is job that will be executed by all your threads. Next is to crate as many threads as you want, give them a name (optional but useful to give names) and finally start them.
You can not start a thread twice, you will get java.lang.IllegalThreadStateException at runtime.
package com.techiekunal.examples;
public class ThreadClassExample extends Thread{
@Override
public void run() {
System.out.println("Executing Job. by thread :- " + Thread.currentThread().getName());
}
public static void main(String[] args) {
// Creating new threads
ThreadClassExample t1 = new ThreadClassExample();
ThreadClassExample t2 = new ThreadClassExample();
// Setting name for threds
t1.setName("Bruno");
t2.setName("Adam");
// Starting threads
t1.start();
t2.start();
}
}
By Implementing Runnable interface
Runnable interface gives you run method to override. Give your job logic inside run method.
Now in your public class create Threads by passing instance of Runnable implementation class
package com.techiekunal.examples;
class RunnableImpl implements Runnable {
@Override
public void run() {
System.out.println("Job Executed by thread :- " + Thread.currentThread().getName());
}
}
public class RunnableInterfaceExample {
public static void main(String[] args) {
RunnableImpl runnableImpl = new RunnableImpl();
Thread t1 = new Thread(runnableImpl,"Bruno");
Thread t2 = new Thread(runnableImpl,"Adam");
t1.start();
t2.start();
}
}
Threads will be stopped after they finish executing run method.
0 Comments
Post a Comment