假设您希望每个继承类都是无限线程,这是一个好的 OO 设计吗?做类似事情的任何更好/更优雅的方式?
public abstract class Base implements Runnable {
protected abstract void doSomething();
public void run() {
while ( true ) {
Thread.sleep(1000);
doSomething();
}
}
}
假设您希望每个继承类都是无限线程,这是一个好的 OO 设计吗?做类似事情的任何更好/更优雅的方式?
public abstract class Base implements Runnable {
protected abstract void doSomething();
public void run() {
while ( true ) {
Thread.sleep(1000);
doSomething();
}
}
}
如果您只想doSomething
每秒执行一次,您可以将任务移动到它自己的位置Runnable
,并schedule
使用ScheduledExecutorService
. 这样,您可以减少程序中的线程数并节省资源。