public MyThreadPool() {
        super(pool_size, // core pool size
                pool_size, // maximum pool size
                0L, // keep-alive time for idle thread
                TimeUnit.SECONDS, // time unit for keep-alive setting
                new LinkedBlockingQueue<Runnable>(pool_size)); // work queue
    }