When we create thread by implements runnable we don't initialize any value during thread creation.
But when we extend Thread class to create thread we can initialize some value if needed using the advantage of constructor as follw
public class MyThread extends Thread
{
int aValue;
public Mythread(int aValue)
{
this.aValue = aValue;
}
............................
............................
}
When we create thread we can initialize as follow
MyThread t = new MyThread(7);
t.start();
Beside that since java doesn't support Multiple inheritance so we if extends Thread class then we lost our opportunity to extends another class.Hence in this scenario runnable interface is so helpful for creating thread