we can create thread by extending Thread class or implementing Runnable interface...
as far as my knowledge goes implementing is a better option for following 2 reasons: (1) by implementing i have option of extending another class (2) by extending the entire Thread class i would have the overhead of all properties of Thread class...which in some cases is not required.
so my question is while creating a thread which is the best and effecient way to create it and why?
Extending Thread really means that you're creating a more specialized class of Thread - to do more than what Thread does, if you look at it from an OO perspective. If that is not your goal, implementing is the way to go.