这是可以接受的OO设计

问题描述:

这是不错的OO设计,假设您希望每一个继承类都是一个无限的线程?任何更好/更优雅的做类似的事情?这是可以接受的OO设计

public abstract class Base implements Runnable { 

protected abstract void doSomething(); 

public void run() { 

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

如果只想doSomething执行每一秒,你可以在任务与ScheduledExecutorService移动到自己的Runnableschedule它。这样可以减少程序中的线程数量并节省资源。

+0

scheduleWithFixedDelay,具体而言 – James 2012-04-02 01:51:41