5

すべての継承クラスを無限のスレッドにしたい場合、これは優れたオブジェクト指向設計ですか?同様のことを行うためのより良い/よりエレガントな方法はありますか?

public abstract class Base implements Runnable {

protected abstract void doSomething();

public void run() {

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

1 に答える 1

11

1秒ごとに実行するだけの場合はdoSomething、タスクを独自のタスクに移動Runnableschedule、 。を使用してタスクを移動できますScheduledExecutorService。このようにして、プログラム内のスレッドの数を減らし、リソースを節約できます。

于 2012-04-02T00:03:27.003 に答える