Это приемлемый ОО Дизайн - PullRequest
       275

Это приемлемый ОО Дизайн

5 голосов
/ 02 апреля 2012

Является ли это хорошим OO Design, если вы хотите, чтобы каждый наследующий класс был бесконечным потоком?Есть ли лучший / более элегантный способ сделать подобное?

public abstract class Base implements Runnable {

protected abstract void doSomething();

public void run() {

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

1 Ответ

11 голосов
/ 02 апреля 2012

Если вы хотите, чтобы doSomething выполнялся только каждую секунду, вы можете переместить задачу на ее Runnable и schedule с помощью ScheduledExecutorService.Таким образом, вы можете уменьшить количество потоков в вашей программе и сэкономить ресурсы.

...