这个OO设计是否可行?

5
这是一个好的面向对象设计吗?假设您希望每个继承类都是无限线程,有更好/更优雅的实现方式吗?
public abstract class Base implements Runnable {

protected abstract void doSomething();

public void run() {

    while ( true ) {
        Thread.sleep(1000);
        doSomething();
    }
}
}
1个回答

11

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


scheduleWithFixedDelay,具体来说。 - James

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接