Ich habe noch nie mit der Concurrency-Bibliothek gearbeitet.
public class QueueExecutor {
static final int defaultCorePoolSize = 5;
static final int defaultMaximumPoolSize = 10;
static final long defaultKeepAliveTime = 10;
static final TimeUnit defaultTimeUnit = TimeUnit.MINUTES;
static final BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<Runnable>();
private static ThreadPoolExecutor instance;
private QueueExecutor() {
instance = new ThreadPoolExecutor(defaultCorePoolSize, defaultMaximumPoolSize, defaultKeepAliveTime, defaultTimeUnit, workQueue);
}
public static ThreadPoolExecutor getInstance() {
if (instance == null) {
QueueExecutor();
}
return instance;
}
public static add(Runnable runnable){
} instance.execute(runnable);
}
Meine Frage ist die folgende, wenn dieses Objekt innerhalb JBoss Anwendungscontainer ausgeführt wird, sollte ich synchronisieren add
y getInstance
Funktionen und warum? Ich denke, dass diese ThreadPoolExecutor
ist bereits syncronisiert.