Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: Intermediate
Jan 13, 1999



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Weaving Threads

Java provides two ways to create and run a thread. You can implement the Runnable interface or extend the Thread class. The Runnable interface defines a single method run(). Consider the following example of a class that extends the Runnable interface:
1.    Class RunnableClass implements Runnable {
2.    // Class attributes and methods
4.      public void run() {
5.        // Code for the run() method
6.      }
7.    }
This thread can be started from another section of the program as follows:
8.    RunnableClass rc = new RunnableClass();
9.    Thread t = new Thread(rc);
10. rc.start(); 
11. // Other code
The start() method calls the run() method on Line 4. Program control returns to Line 11 and simultaneously to Line 5. At this point two threads are executing.

The Thread class can also be extended directly, making the derived class a Runnable (Thread extends Runnable):

1.   public class ThreadClass extends Thread {
2.      public void run() {
3.        // Code here
4.     }
5.   }
In this case, the thread may be started directly with a single call:
6. ThreadClass tc = new ThreadClass();
7. tc.start();
The Thread class has a lot more overhead (in terms of methods and attributes) and most of the time the developers only need to use the run() method. As a result, implementing Runnable is the preferred way to use threads.
Ajit Sagar
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date