001package com.thed.zblast.util; 002 003import java.util.concurrent.BlockingQueue; 004import java.util.concurrent.ThreadPoolExecutor; 005import java.util.concurrent.TimeUnit; 006 007public class ThreadPool extends ThreadPoolExecutor { 008 009 public ThreadPool(int corePoolSize, int maximumPoolSize, 010 long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) { 011 super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue); 012 } 013 014 @Override 015 protected void beforeExecute(Thread t, Runnable r) { 016 super.beforeExecute(t, r); 017 System.out.println("Perform beforeExecute() logic"); 018 } 019 020 @Override 021 protected void afterExecute(Runnable r, Throwable t) { 022 super.afterExecute(r, t); 023 if (t != null) { 024 System.out.println("Perform exception handler logic"); 025 } 026 System.out.println("Perform afterExecute() logic"); 027 } 028 029}