线程池创建
static final int poolSize = 50; static final long keepAliveTime = 0L; static final ThreadFactory threadFactory = new ThreadFactoryBuilder().setNameFormat("Thread-pool-MlanguageNavigationAspect-%d").setDaemon(true).build(); static final ExecutorService executorService = new ThreadPoolExecutor( poolSize, poolSize, keepAliveTime, TimeUnit.MILLISECONDS, //无界队列 LinkedBlockingQueue //有界队列 ArrayBlockingQueue PriorityBlockingQueue //同步移交 SynchronousQueue new LinkedBlockingQueue<Runnable>(), threadFactory, //AbortPolicy中止策略 //DiscardPolicy抛弃策略 //DiscardOldestPolicy抛弃旧任务策略 //CallerRunsPolicy调用者运行 new ThreadPoolExecutor.AbortPolicy());
ScheduledExecutorService diagnosesExecutorService = new ScheduledThreadPoolExecutor(200, new BasicThreadFactory.Builder().namingPattern("DiagnosesFacade-diagnosesExecutorService-%d").daemon(true).build());
ExecutorService pool = new ThreadPoolExecutor(5, 200, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(1024), new ThreadFactoryBuilder().setNameFormat("DiagnosesFacade-diagnosesExecutorService-%d").build(), new ThreadPoolExecutor.AbortPolicy());