1. this.defaultAsyncSenderExecutor = new ThreadPoolExecutor(
    2. Runtime.getRuntime().availableProcessors(),
    3. Runtime.getRuntime().availableProcessors(),
    4. 1000 * 60,
    5. TimeUnit.MILLISECONDS,
    6. this.asyncSenderThreadPoolQueue,
    7. new ThreadFactory() {
    8. private AtomicInteger threadIndex = new AtomicInteger(0);
    9. @Override
    10. public Thread newThread(Runnable r) {
    11. return new Thread(r, "AsyncSenderExecutor_" + this.threadIndex.incrementAndGet());
    12. }
    13. });