Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Intermediate
Mar 18, 1999

A Runnable Is Not a Thread

You may come across some situations where implementing a Runnable may have some advantages over extending Thread. If the class you are going to multi-thread is already extending another class, you have to implement the java.lang.Runnable interface, which is obvious. What may not be obvious is that a Runnable is not a thread. A Runnable is a class like any other class in Java. For a Runnable to become a Thread, you have to feed your Runnable to an actual java.lang.Thread object.
 
public class ARunnable implements Runnable 
{ 
. . . 
public void run() 
{ 
/* the code to run threaded goes here */ 
} 
... 
} 
Then you do:
 
Runnable myRunnable = new ARunnable(); 
Thread myThread = new Thread (myRunnable); 
myThread.start(); 
Your code in the run() method of the Runnable will run threaded, but since a Runnable is not a thread, you can run the Runnable in a non-multi-threaded mode by explicitly calling its run method. This is a handy way for tracing the logic of the code in your Runnable before running it multi-threaded.
Behrouz Fallahi
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap