Мне интересно, чем обусловлено существование пустого конструктора в классе Thread?
Поскольку вы не можете дать ему Runnable при создании, создание Thread вот так:
Thread t=new Thread();
совершенно бесполезно.
Можете ли вы придумать причину, почему нет возможности добавить runnable в поток ПОСЛЕ СОЗДАНИЯ?