当我们想结束执行器时候,调用shutdown() 方法来标识执行器应当的结束,但是,执行器只有等待正在运行的任务或者等待执行的任务结束后,才能真在结束。
如果在shutdown()方法与执行器结束指尖发送一个任务给执行器,这个任务会被拒绝,因为这个时间段执行器也不再接受任务了,ThreadPoolExecutor类提供了一套机制,当任务被拒绝时调用这套机制来处理它们。
package com.xingfu.wx_;
import java.util.concurrent.RejectedExecutionHandler;
import java.util.concurrent.ThreadPoolExecutor;
import com.xingfu.wx.Utils;
/**
*
* @author W,x
* @version 创建时间:2015年4月14日 上午11:17:10
*
*/
public class RejectedTaskController implements RejectedExecutionHandler {
@Override
public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
// 在控制太输出已被拒绝的任务的name和执行器的状态
Utils.print("RejectedTaskController: The task %s has been rejected\n", r.toString());
Utils.print("RejectedTaskController: %s