A thread in most cases is a component of a process, and shares it’s resources.
In Java – Creating a basic thread and starting it:
(This Example doesn’t provide any code in the start method. So the thread will exit right after it is started).
Thread thread = new Thread(); thread.start();
Threads can be provided with codes by two methods:
1. Creating a subclass which extends the superclass of Thread and then override it’s run() method:
public class MySubClassThread extends Thread { public void run(){ System.out.println("MySubClassThread is running"); } } MySubClassThread mySubClassThread = new MySubClassThread (); MySubClassThread.start();
2. Creating an implementation class of the runnable interface:
public class MyImplementationOfRunnable implements Runnable { public void run(){ System.out.println("MyImplementationOfRunnable is running"); } } Thread thread = new Thread(new MyImplementationOfRunnable()); thread.start();
Every Thread has a name and you can provide it’s name (else a default name will be chosen automatically):
Thread thread = new Thread("I am a named Thread") { public void run(){ System.out.println("I " + getName() + " ran this code."); } }; thread.start();
You can get the name of the current thread running in any certain block of code:
String threadName = Thread.currentThread().getName();