网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

JDK线程池和Spring线程池的使用实例介绍-创新互联

本篇内容主要讲解“JDK线程池和Spring线程池的使用实例介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JDK线程池和Spring线程池的使用实例介绍”吧!

成都创新互联专注于企业营销型网站建设、网站重做改版、临夏网站定制设计、自适应品牌网站建设、H5高端网站建设成都做商城网站、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为临夏等各大城市提供网站开发制作服务。

JDK线程池和Spring线程池实例,异步调用,可以直接使用

(1)JDK线程池的使用,此处采用单例的方式提供,见示例:

public class ThreadPoolUtil {private static int corePoolSize = 5;private static int maximumPoolSize = 10;private static long keepAliveTime = 60L;private static TimeUnit unit = TimeUnit.SECONDS;private static int capacity = 1024;private static ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("jdk-thread-pool-%d").build();private static final ExecutorService executorService = new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,unit,new LinkedBlockingQueue<>(capacity),namedThreadFactory,new ThreadPoolExecutor.AbortPolicy());private ThreadPoolUtil () {}public static ExecutorService getExecutorService () {return executorService;}}

在其它地方可以直接这样使用:

ThreadPoolUtil.getExecutorService().execute(() -> {System.out.println("test1");System.out.println("test2");})

(2)Spring线程池的使用,此处通过配置类的方式配置线程池的相关属性,见示例:

@Configuration@EnableAsyncpublic class DocataThreadBeanConfig {private int corePoolSize = 5;private int maxPoolSize = 10;private int queueCapacity = 1024;private String namePrefix = "async-service-task-";// 上述属性可以通过@Value来读取配置值@Bean(name = "asyncServiceTaskExecutor")public TaskExecutor asyncServiceExecutor() {ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();// 设置核心线程数executor.setCorePoolSize(corePoolSize);// 设置较大线程数executor.setMaxPoolSize(maxPoolSize);// 设置队列容量executor.setQueueCapacity(queueCapacity);// 设置线程活跃时间(秒)executor.setKeepAliveSeconds(60);// 设置默认线程名称executor.setThreadNamePrefix(namePrefix);// 设置拒绝策略executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());// 等待所有任务结束后再关闭线程池executor.setWaitForTasksToCompleteOnShutdown(true);executor.initialize();;return executor;}}

在其它文件中需要这样使用:

@Resource(name="asyncServiceTaskExecutor")private ThreadPoolTaskExecutor asyncServiceTaskExecutor;

不要直接使用@Autowired,否则会提示失败的

@Autowiredprivate ThreadPoolTaskExecutor asyncServiceTaskExecutor;

到此,相信大家对“JDK线程池和Spring线程池的使用实例介绍”有了更深的了解,不妨来实际操作一番吧!这里是创新互联建站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


分享题目:JDK线程池和Spring线程池的使用实例介绍-创新互联
路径分享:http://bjjierui.cn/article/dodsgs.html

其他资讯