• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

To implement the Threading, SHould we prefer Thread class or Runnable Interface?

 
Mitesh Soni
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please explain...

I know few of the diff like...

1) Extending the Thread class will make your class unable to extend other classes, because of the single inheritance feature in JAVA.
2) In an Object oriented aspect, the second method is more preferrable, because you extend a class when you want to make it different from it’s super class, and change it’s behavior(s) (Example???).

Is there any other major difference?
 
leroy tsruya
Ranch Hand
Posts: 57
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
you can check this link,
http://faq.javaranch.com/java/ExtendingThreadVsImplementingRunnable
 
palanivelrajan subramanian
Greenhorn
Posts: 11
Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
both are used for same purpose.. but using thread class is easy when comparing with runnable interface..
so prefer thread class always..
 
Suresh Vinay Kumar
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A Java Thread controls the main path of execution in an application. When you invoke the Java Virtual Machine with the java command, it creates an implicit thread in which to execute the main method. The Thread class provides a mechanism for the first thread to start-up other threads to run in parallel with it.

The Runnable interface defines a type of class that can be run by a thread. The only method it requires is run, which makes the interface very easy to fulfil by extending existing classes. A runnable class may have custom constructors and any number of other methods for configuration and manipulation.

By implementing Runnable rather than extending Thread, you minimize the amount of code that you might have to change .
 
John de Michele
Rancher
Posts: 600
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
both are used for same purpose.. but using thread class is easy when comparing with runnable interface..
so prefer thread class always..


Ummm...I don't think so. Using Thread will not work if your class is already extending another class. Java does not allow multiple inheritance.

John.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic