private static final Logger LOGGER = LoggerFactory.getLogger(FileListenerController.class);
/** * 线程池的7个参数 * 1、corePoolSize线程池的核心线程数 * 2、maximumPoolSize能容纳的最大线程数 * 3、keepAliveTime空闲线程存活时间 * 4、unit 存活的时间单位 * 5、workQueue 存放提交但未执行任务的队列 * 6、threadFactory 创建线程的工厂类 * 7、handler 等待队列满后的拒绝策略 */ ExecutorService threadPool=new ThreadPoolExecutor(2,5, 1L,TimeUnit.SECONDS, new LinkedBlockingQueue<>(3), Executors.defaultThreadFactory(), new ThreadPoolExecutor.AbortPolicy()); for(String item:list) { //线程池执行线 threadPool.execute(new Runnable() { @Override public void run() { try { //线程中调用方法 startlisterer(item); } catch (Exception e) { LOGGER.error("AI文件线程执行报错" + e.getMessage().toString()); e.printStackTrace(); } } }); }