实际是使用生产者-消费者模式。
线程池的使用方式生产者,线程池本身是消费者。生产者决定了消费额度,消费者负责按一定机制(FIFO)消费。
尽量使用ThreadPoolExecutor来创建线程池,参数如下:
1. int corePoolSize
2. int maximumPoolSize
3. long keepAliveTime
4. TimeUnit unit
6. BlockingQueue<Runnable> workQueue
7. ThreadFactory thtreadFactory
8. RejectedExecutionHandler handler