论坛的参考技术博客没有Executor,难道不学?
Executor是客户代码和任务执行的中间层,我们无需显式维护Thread。
Executors的静态方法用于创建Executor对象,常用的有三个:
//最常用的线程池
ExecutorService exec = Executors.newCachedThreadPool();
//数量固定的线程池
ExecutorService exec2 = Executors.newFixedThreadPool(3);
//就像数量为1的FixedThreadPool一样,但是提供额外线程保证
ExecutorService exec3 = Executors.newSingleThreadExecutor();
它们的常用方法:
void execute(Runnable command)接受Runnable对象,创建并维护一个线程
void shutdown()确保线程不接受新的任务,程序在任务完成后尽快推出。当然,不要理解成执行了shutdown就立即退出了。 |
|