public class TaskA implements Runnable {
....
}
public class TaskB implements Runnable {
....
}
Ho due classi eseguibili come TaskA, TaskB. Voglio avere un TaskManager per eseguire queste due attività e avere la possibilità di aggiungere più attività in futuro. Quindi ho il TaskManager come segue:
public class TaskManager {
private ThreadPoolExecutor threadPool;
private Object task;
public TaskManager(TaskA task) {
this.task = task;
}
public TaskManager(TaskB task) {
this.task = task;
}
public void startThreadPool() {
threadPool = new ThreadPoolExecutor(...);
threadPool.execute((Runnable) task);
}
}
Vorrei sapere se è una buona pratica? Se no, qualcuno ha qualche suggerimento? dovremmo usare il consumatore o così per implementare questo?