ThreadPoolConfig数据收集配置

1.ThreadPoolConfig

/**
 * @Description: 数据收集配置,主要作用在于Spring启动时自动加载一个ExecutorService对象
 * @Auther: sp
 * @Date: 2020/11/24 11:36
 */
@Configuration
public class ThreadPoolConfig {
    @Bean
    public ExecutorService getThreadPool(){
        ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("thread-call-runner-%d").build();
        ExecutorService taskExe = new ThreadPoolExecutor(1, 5, 200L, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(1), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
        return taskExe;
    }
}

2.使用


@Resource
    private ExecutorService executorService;

······
// 开一个线程 去处理异步任务
            executorService.execute(() -> {
                try {
                    //初次查询时,线程放在同步查询之后
                    Thread.sleep(3000L);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                //查询数据
                cacheValue.set(getTokenApi());
                //日期设缓存时间的2倍,用于脏读
                appletTokenCache.put(APP_TOKEN_CACHE_KEY, cacheValue.get(), cacheTime * 2);
            });
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容