Hola,
Definiste la variable de tipo Thread,
El método start que definiste tiene como parámetro un objeto de tipo Thread,
Código Java:
Ver originalpublic void start
(Thread hilo
) { if (hilo == null) {
hilo.start();
}
}
Y le pasas la variable de tipo Thread al método start,
¿Ahora, en que momento tiene algo que ver la interface runnable?
¿Si el objeto es de tipo Thread y creas un nuevo Thread?
Para que funcione deberías definir la variable como el tipo Runnable, donde el tipo MyRunnableType es el tipo de la clase donde está definido el método run, (eso porque mencionaste que usaste la interface Runnable -- Metodo run de la clase runnable --)
Código Java:
Ver originalprivate MyRunnableType thO1 = null;
Y el método start debería crear un Thread con el constructor que recibe un Runnable,
Código Java:
Ver original if (hilo == null) {
hilo = new MyRunnableType();
temp.start();
}
}
Como lo estabas haciendo era crear un hilo vacío sin método run y ejecutándolo, por consiguiente no hacía nada, de esta forma estás haciendo un hilo con el runnable MyRunnableType.
Saludos,