2 Stimmen

Synchronisierung des ThreadPoolExecutors

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X