Ich möchte den gleichen Thread-Pool in meiner gesamten Anwendung verwenden. Zu diesem Zweck kann ich ExecutorService
statisch und global machen, so dass ich ThreadUtil.executorService
aufrufen kann, um ExecutorService
zu bekommen, wenn ich es brauche.sollte ExecutorService statische und globale sein
public class ThreadUtil {
public static final ExecutorService executorService = Executors.newCachedThreadPool();
}
Ist es in Ordnung, mehrere Thread-Pools so zu instanziieren?
Darüber hinaus ist meine Anwendung ein TCP-Server. Wenn ich nicht weiß, wie groß der Pool sein sollte, ist es in Ordnung, einfach newCachedThreadPool
zu verwenden?
Achten Sie darauf, die Obergrenze für die Anzahl der Threads festgelegt, wenn Sie CachedThreadPool verwenden –