2012-04-01 34 views
5

Bu iyi OO Tasarım, miras alma sınıfının sonsuz bir Konu olmasını istediğiniz varsayılıyor mu? Benzer bir şey yapmanın daha iyi/daha zarif bir yolu? Yalnızca doSomething her saniye yürütmek istiyorsanızBu kabul edilebilir bir OO Tasarım

public abstract class Base implements Runnable { 

protected abstract void doSomething(); 

public void run() { 

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

cevap

11

, bunu bir ScheduledExecutorService ile Runnable kendi görevi taşımak ve schedule olabilir. Bu sayede programınızdaki iş parçacığı sayısını azaltabilir ve kaynakları kaydedebilirsiniz.

+0

scheduleWithFixedDelay, özellikle – James

İlgili konular