
devutility.internal.util.concurrent.ExecutorServiceUtils Maven / Gradle / Ivy
package devutility.internal.util.concurrent;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import devutility.internal.system.SystemHelper;
public class ExecutorServiceUtils {
/**
* ExecutorServiceHolder
*/
private static class ExecutorServiceHolder {
/**
* Processors count for the current machine
*/
private static int processorsCount = SystemHelper.getProcessorsCount();
/**
* Default ThreadPoolExecutor object
*/
public static ExecutorService executorService = new ThreadPoolExecutor(processorsCount, processorsCount * 5, 3, TimeUnit.SECONDS, new LinkedBlockingQueue(), (thread) -> {
return new Thread(thread);
});
}
/**
* Get default ThreadPoolExecutor
* @return ExecutorService
*/
public static ExecutorService threadPoolExecutor() {
return ExecutorServiceHolder.executorService;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy