Como medir el tiempo de ejecucion de un hilo

Saludos..
Nesecito medir el tiempo de ejecucion de mi hilo.
He buscando en internet y me dicen que con esto.Pero el hilo se ejecuta siempre aparte y no logro saber como puedo hacer para ver cuanto se demora.

package medirtiempo;

/*@author sebas */
public class Main extends Threads
{
public Main(){
}

public static void main(String[] args)
{
long tiempoInicio = System.currentTimeMillis();
Main obj = new Main();
obj.start();
long totalTiempo = System.currentTimeMillis() - tiempoInicio;
System.out.println("El tiempo de demora es :" + totalTiempo + " miliseg");
}
static void ejecutaProceso1()
{
//Logica
}

public void run(){
ejecutaProceso1();
}
}

Bueno es obvio que asi no se mide el tiempo de ejecucion de un hilo.
Porque lo que hace la Clase es apenas se ejecuta el hilo se ejecuta el Syso.

Bueno alguna ayuda!

Gracias

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Pues: public void run(){  

Pues:

 

Notas, dale formato a tu código al postear, es terrible leer código sin formato, enciarralo en <code> .

No heredes de   mucho menos de  

Saludos.

Imagen de ezamudio

Runnables

Otra razón por la que es mejor implementar un Runnable... así sin afectar tus procesos puedes usar una subclase de Thread así:

 

Y entonces puedes medir tus tareas simplemente corriéndolas con   y posteriormente preguntarle al hilo (al que debiste haber guardado la referencia)  .

El código que pusiste no sirve porque el método   regresa el control al hilo que lo invoca casi de inmediato, por lo que te va a dar un tiempo muy corto, porque realmente lo que mediste es cuánto tiempo se tardó la invocación a start. En todo caso si es una sola tarea, necesitar llamar   en el hilo que quieres esperar a que termine.

Imagen de GCORREAGEEK

Gracias por responder, pero ahora tengo esto

//Hilo
 
 

Bueno, al ejecutar esto tengo algo como esto:
Ejecuta Proceso Pesado+0,0!!
Ejecuta Proceso Pesado+0,1!!
.
.
Ejecuta Proceso Pesado+0,35!!
El tiempo de demora 1 es :0 miliseg
Ejecuta Proceso Pesado+0,36!!
.
.
Ejecuta Proceso Pesado+2,98!!
Ejecuta Proceso Pesado+2,99!!

Osea me imprime desordenadamente.Pero eso no me importa lo que me importa
es que me salga cuanto demoro en ejecutarse la aplicacion y como ven me sale por el medio el resultado y no se ejecuta
al ultimo como estaba buscando.
Como se habran dado cuenta es un hilo dentro de otro hilo.
Muchas Gracias