这是可接受的OO设计吗?

时间:2012-04-01 23:54:47

标签: java object-oriented-analysis

这个优秀的OO设计假设您希望每个继承类都是无限的线程吗?做类似事情的更好/更优雅的方式?

public abstract class Base implements Runnable {

protected abstract void doSomething();

public void run() {

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

1 个答案:

答案 0 :(得分:11)

如果您只想让doSomething每秒执行一次,您可以将任务移动到自己的Runnable,并schedule将其移动到ScheduledExecutorService。这样,您可以减少程序中的线程数并节省资源。