Ich habe einen Hintergrunddienst, der alle 15 Sekunden einen Thread ausführt und einige Arbeit ausführt.Entwurfsmuster für Java-Threading
public class CacheCleaner implements Runnable, BackgroundService {
....
@Override
public void run() {
....
}
}
BackgroundService ist eine weitere Schnittstelle, die ich mit Methoden definiert haben, die ich jeden Hintergrunddienst im System implementieren möchten.
public interface BackgroundService
{
String getName();
void start(long initialDelay);
.....
}
Das Problem ist, dass ich einige Arbeit (3-4 Zeilen von Basiscode) in der run-Methode jeder solchen Klasse machen wollen (es gibt 10 bis 15 von ihnen). Gibt es ein Entwurfsmuster oder einen besseren Weg, um dies zu erreichen, anstatt das Einfügen der 4 Zeilen in jede der 15 Ausführungsmethoden zu kopieren?
HINWEIS: Ich erwähne die run() - Methode, da ich nur diese 4 Zeilen Code ausgeführt werden soll, wenn der Thread aktiv ist.
Machen 'BackgroundService' implementieren' Runnable' mit 'run' definiert? – ChiefTwoPencils
Können Sie ein vollständigeres Beispiel für das liefern, was Sie wollen? Wenn Sie eine abstrakte Klasse mit einer run-Methode haben, dann erweitern Sie das, können Sie 'super.run()' –