Java Thread Executor Pool createPooledExecutorService(int poolSize, final String namePrefix)

Here you can find the source of createPooledExecutorService(int poolSize, final String namePrefix)

Description

Creates a pooled ExecutorService of a fixed size and turns all threads to daemons to make sure they do not block application shutdown.

License

Apache License

Parameter

Parameter Description
poolSize a parameter
namePrefix a parameter

Return

created

Declaration

public static ExecutorService createPooledExecutorService(int poolSize, final String namePrefix) 

Method Source Code

//package com.java2s;
/*//from ww  w  . j  ava 2  s. c om
Copyright 2001-2014 Vladimir Lysyy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this source code except in compliance with the License.
You may obtain a copy of the License at
    
http://www.apache.org/licenses/LICENSE-2.0
    
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;

import java.util.concurrent.atomic.AtomicInteger;

public class Main {
    /**
     * Creates a pooled {@link ExecutorService} of a fixed size and turns all threads
     * to daemons to make sure they do not block application shutdown.
     * 
     * @param poolSize
     * @param namePrefix
     * @return created {@link ExecutorService}
     */
    public static ExecutorService createPooledExecutorService(int poolSize, final String namePrefix) {
        return Executors.newFixedThreadPool(poolSize, new ThreadFactory() {
            final AtomicInteger counter = new AtomicInteger(0);

            @Override
            public Thread newThread(Runnable runnable) {
                final Thread thread = new Thread(runnable);
                thread.setDaemon(true);
                thread.setName(String.format("%s-%d", namePrefix, counter.incrementAndGet()));
                return thread;
            }
        });
    }
}

Related

  1. clearPreloadThreads()
  2. createBoundedCachedThreadPool( final int corePoolSize, final int maximumPoolSize, final long keepAliveTime, final TimeUnit timeUnit)
  3. createClientThreadPool(int numThreads, int queueSize)
  4. createPool(int threads, int queueSize)
  5. getPool()
  6. getPool()
  7. getQueuedThreadPool(double threadToCpuRatio, int queueCapacity)
  8. getRecheckThreadPool()