ThreadPoolExecutor
// Определете броя на ядрата на устройството
int NUMBER_OF_CORES = Runtime.getRuntime().availableProcessors();
// Създайте пул от нишки, преминавайки в опции за конфигуриране
// int minPoolSize, int maxPoolSize, long keepAliveTime, TimeUnit unit,
// BlockingQueue<Runnable> workQueue
ThreadPoolExecutor executor = new ThreadPoolExecutor(
NUMBER_OF_CORES*2,
NUMBER_OF_CORES*2,
60L,
TimeUnit.SECONDS,
new LinkedBlockingQueue<Runnable>()
);Използване на Runnables в ThreadPoolExecutor
// Изпълнява задача върху нишка в пула от нишки
executor.execute(new Runnable() {
public void run() {
// Кода на задач1ата която ще се изпълни на нишка от пула с нишки
}
});Last updated