Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

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



Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js

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