2012-04-01 18 views
5

¿Es este un buen OO Design suponiendo que quiere que cada clase heredada sea un hilo infinito? ¿Alguna forma mejor/más elegante de hacer algo similar?¿Es esto aceptable OO Design

public abstract class Base implements Runnable { 

protected abstract void doSomething(); 

public void run() { 

    while (true) { 
     Thread.sleep(1000); 
     doSomething(); 
    } 
} 
} 

Respuesta

11

Si sólo desea doSomething para ejecutar cada segundo, se puede mover la tarea a su propio Runnable y schedule con un ScheduledExecutorService. De esta forma, puede reducir el número de subprocesos en su programa y ahorrar recursos.

+0

scheduleWithFixedDelay, específicamente – James

Cuestiones relacionadas