class ThreadPoolUtil {
    public static ThreadPoolExecutor createThreadPool(final String name, int corePoolSize, int maxPoolSize) {
        ThreadPoolExecutor serverHandlerPool = new ThreadPoolExecutor(
                corePoolSize,
                maxPoolSize,
                60L,
                TimeUnit.SECONDS,
                new LinkedBlockingQueue<>(1000),
                new ThreadFactory() {
                    @Override
                    public Thread newThread(Runnable r) {<FILL_FUNCTION_BODY>}
                },
                new ThreadPoolExecutor.AbortPolicy());

        return serverHandlerPool;
    }
}

                        return new Thread(r, "netty-rpc-" + name + "-" + r.hashCode());
                    
<no_super_class>