当前位置: 首页 > news >正文

杰商网站建设百度公司简介

杰商网站建设,百度公司简介,成都做公司网站,广州外贸seo优化常用线程池配置#xff0c;使用与注意事项 1. 线程池构建2. 线程池使用2.1 注意事项 1. 线程池构建 public class ThreadPoolBuilder {private static final Logger logger org.slf4j.LoggerFactory.getLogger(ThreadPoolBuilder.class);/*** CPU核数*/private static int C… 常用线程池配置使用与注意事项 1. 线程池构建2. 线程池使用2.1 注意事项 1. 线程池构建 public class ThreadPoolBuilder {private static final Logger logger org.slf4j.LoggerFactory.getLogger(ThreadPoolBuilder.class);/*** CPU核数*/private static int CPU_CORES ;static {try {// 获取分配给当前实例的CPU核心数CPU_CORES Runtime.getRuntime().availableProcessors();} catch (Throwable e) {logger.error(获取CPU核心数失败, e);// 异常情况下设置一个默认安全值CPU_CORES 8;}logger.info(CPU核数{}, CPU_CORES);}/*** 核心线程数默认CPU核数的2倍*/public static final int CORE_POOL_SIZE CPU_CORES * 2;/*** 最大线程数默认CPU核数的4倍*/public static final int MAXIMUM_POOL_SIZE CPU_CORES * 4;/*** 线程空闲后的存活时间默认30秒*/public static final long KEEP_ALIVE_TIME 30000L;/*** 线程存活时间单位默认毫秒*/public static final TimeUnit TIMEUNIT TimeUnit.MILLISECONDS;/*** 线程队列默认LinkedBlockingQueue容量1000*/public static final BlockingQueueRunnable WORK_QUEUE new LinkedBlockingQueue(1000);/*** 默认拒绝策略*/public static final RejectedExecutionHandler DEFAULT_HANDLER new ThreadPoolExecutor.CallerRunsPolicy();/*** 创建线程池** param poolName 线程池名称* param corePoolSize 核心线程数* param maxPoolSize 最大线程数* param keepAliveTime 线程空闲时间* param unit 时间单位* return 线程池实例*/public static ExecutorService createNamedThreadPool(String poolName,int corePoolSize,int maxPoolSize,long keepAliveTime,TimeUnit unit) {return createNamedThreadPool(poolName, corePoolSize, maxPoolSize, keepAliveTime, unit, new LinkedBlockingQueue(1000));}/*** 创建线程池** param poolName 线程池名称* param corePoolSize 核心线程数* param maxPoolSize 最大线程数* param keepAliveTime 线程空闲时间* param unit 时间单位* param workQueue 工作队列* return 线程池实例*/public static ExecutorService createNamedThreadPool(String poolName,int corePoolSize,int maxPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueueRunnable workQueue) {return createNamedThreadPool(poolName, corePoolSize, maxPoolSize, keepAliveTime, unit, workQueue, new ThreadPoolExecutor.CallerRunsPolicy());}/*** 创建线程池** param name 线程池名称* param corePoolSize 核心线程数* param maxPoolSize 最大线程数* param keepAliveTime 线程空闲时间* param unit 时间单位* param workQueue 工作队列* param handler 拒绝策略* return 线程池实例*/public static ExecutorService createNamedThreadPool(String poolName,int corePoolSize,int maxPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueueRunnable workQueue,RejectedExecutionHandler handler) {if (corePoolSize 0 || maxPoolSize 0 || keepAliveTime 0) {throw new IllegalArgumentException(Invalid pool parameters);}if (workQueue null) {throw new IllegalArgumentException(Work queue cannot be null);}return new ThreadPoolExecutor(corePoolSize,maxPoolSize,keepAliveTime,unit,workQueue,new DefaultThreadFactory(poolName),handler);}/*** 销毁线程池*/public static void shutdown(ExecutorService executorService) {if (executorService null || executorService.isShutdown()) {return;}try {executorService.shutdown();} catch (Exception e) {logger.error(Failed to shutdown executor service gracefully: {}, e.getMessage(), e);}}/*** 销毁线程池*/public static void shutdownOrNow(ExecutorService executorService) {if (executorService null || executorService.isShutdown()) {return;}try {executorService.shutdown();// 等待线程池中的任务在60秒内完成若超时则强制终止所有正在执行的任务if (!executorService.awaitTermination(60, TimeUnit.SECONDS)) {executorService.shutdownNow();}} catch (InterruptedException e) {executorService.shutdownNow();logger.error(Failed to shutdown executor service gracefully: {}, e.getMessage(), e);}}}2. 线程池使用 2.1 注意事项 一个系统不建议随意的的创建线程池避免线程膨胀导致CPU开销过大导致系统性能下降甚至系统崩溃。 通用公共线程池 核心线程池等需要常驻的线程池不要关闭 /*** 线程池工厂类** author Aron*/ public class ThreadPoolFactory {/*** 线程池名称*/public static String THREAD_POOL_NAME thread-pool-%s;public static String buildPoolName(String poolName) {return String.format(THREAD_POOL_NAME, poolName);}/*** 说明一个系统不建议随意的的创建线程池避免线程膨胀导致CPU开销过大导致系统性能下降甚至系统崩溃。* p* 通用公共线程池需要常驻不要关闭线程池** 可以执行一些耗时操作或者时效性要求较低或者一致性要求较低的任务例如定时任务、重试任务、数据分析、邮件发送等*/public static ExecutorService COMMON_POOL;static {COMMON_POOL ThreadPoolBuilder.createNamedThreadPool(buildPoolName(common),CORE_POOL_SIZE, MAXIMUM_POOL_SIZE, KEEP_ALIVE_TIME, TIMEUNIT, WORK_QUEUE, DEFAULT_HANDLER);}/*** 核心线程池需要常驻不要关闭线程池*/public static ExecutorService ACTUAL_POOL;static {ACTUAL_POOL ThreadPoolBuilder.createNamedThreadPool(buildPoolName(actual),5, 10, KEEP_ALIVE_TIME, TIMEUNIT);}/*** 支持自定义创建临时线程池** param name 线程池名称* param corePoolSize 核心线程数* param maxPoolSize 最大线程数* param keepAliveTime 线程空闲时间* param unit 时间单位* param workQueue 工作队列* param handler 拒绝策略* return 线程池实例*/public static ExecutorService createNamedThreadPool(String poolName,int corePoolSize,int maxPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueueRunnable workQueue,RejectedExecutionHandler handler) {return ThreadPoolBuilder.createNamedThreadPool(String.format(THREAD_POOL_NAME, poolName),corePoolSize,maxPoolSize,keepAliveTime,unit,workQueue,handler);}/*** 销毁线程池 临时创建的线程池需要销毁*/public static void shutdown(ExecutorService executorService) {ThreadPoolBuilder.shutdown(executorService);}/*** 销毁线程池 临时创建的线程池需要销毁*/public static void shutdownOrNow(ExecutorService executorService) {ThreadPoolBuilder.shutdownOrNow(executorService);}}
文章转载自:
http://www.morning.fbjnr.cn.gov.cn.fbjnr.cn
http://www.morning.tfei69.cn.gov.cn.tfei69.cn
http://www.morning.jyzqn.cn.gov.cn.jyzqn.cn
http://www.morning.sgtq.cn.gov.cn.sgtq.cn
http://www.morning.xjwtq.cn.gov.cn.xjwtq.cn
http://www.morning.rwrn.cn.gov.cn.rwrn.cn
http://www.morning.lxwjx.cn.gov.cn.lxwjx.cn
http://www.morning.fqljq.cn.gov.cn.fqljq.cn
http://www.morning.phgz.cn.gov.cn.phgz.cn
http://www.morning.wnqfz.cn.gov.cn.wnqfz.cn
http://www.morning.rrwgh.cn.gov.cn.rrwgh.cn
http://www.morning.ydxg.cn.gov.cn.ydxg.cn
http://www.morning.phtqr.cn.gov.cn.phtqr.cn
http://www.morning.pqktp.cn.gov.cn.pqktp.cn
http://www.morning.cmhkt.cn.gov.cn.cmhkt.cn
http://www.morning.nkcfh.cn.gov.cn.nkcfh.cn
http://www.morning.ztnmc.cn.gov.cn.ztnmc.cn
http://www.morning.jrlgz.cn.gov.cn.jrlgz.cn
http://www.morning.kdrjd.cn.gov.cn.kdrjd.cn
http://www.morning.jjnry.cn.gov.cn.jjnry.cn
http://www.morning.qtnmp.cn.gov.cn.qtnmp.cn
http://www.morning.ngqdp.cn.gov.cn.ngqdp.cn
http://www.morning.fkrzx.cn.gov.cn.fkrzx.cn
http://www.morning.lywpd.cn.gov.cn.lywpd.cn
http://www.morning.nkqnn.cn.gov.cn.nkqnn.cn
http://www.morning.hqykb.cn.gov.cn.hqykb.cn
http://www.morning.myrmm.cn.gov.cn.myrmm.cn
http://www.morning.routalr.cn.gov.cn.routalr.cn
http://www.morning.gwtgt.cn.gov.cn.gwtgt.cn
http://www.morning.qdbcd.cn.gov.cn.qdbcd.cn
http://www.morning.rgtp.cn.gov.cn.rgtp.cn
http://www.morning.bdfph.cn.gov.cn.bdfph.cn
http://www.morning.xdjsx.cn.gov.cn.xdjsx.cn
http://www.morning.w58hje.cn.gov.cn.w58hje.cn
http://www.morning.sgnxl.cn.gov.cn.sgnxl.cn
http://www.morning.qgbfx.cn.gov.cn.qgbfx.cn
http://www.morning.jlthz.cn.gov.cn.jlthz.cn
http://www.morning.ttcmdsg.cn.gov.cn.ttcmdsg.cn
http://www.morning.hxycm.cn.gov.cn.hxycm.cn
http://www.morning.ptmsk.cn.gov.cn.ptmsk.cn
http://www.morning.bftr.cn.gov.cn.bftr.cn
http://www.morning.skrrq.cn.gov.cn.skrrq.cn
http://www.morning.ldnrf.cn.gov.cn.ldnrf.cn
http://www.morning.wbnsf.cn.gov.cn.wbnsf.cn
http://www.morning.qgghr.cn.gov.cn.qgghr.cn
http://www.morning.pdwny.cn.gov.cn.pdwny.cn
http://www.morning.hrnrx.cn.gov.cn.hrnrx.cn
http://www.morning.zwfgh.cn.gov.cn.zwfgh.cn
http://www.morning.kdgcx.cn.gov.cn.kdgcx.cn
http://www.morning.wbysj.cn.gov.cn.wbysj.cn
http://www.morning.nbqwr.cn.gov.cn.nbqwr.cn
http://www.morning.plzgt.cn.gov.cn.plzgt.cn
http://www.morning.pqqhl.cn.gov.cn.pqqhl.cn
http://www.morning.fxygn.cn.gov.cn.fxygn.cn
http://www.morning.mnkz.cn.gov.cn.mnkz.cn
http://www.morning.tnjz.cn.gov.cn.tnjz.cn
http://www.morning.xnbd.cn.gov.cn.xnbd.cn
http://www.morning.sfdsn.cn.gov.cn.sfdsn.cn
http://www.morning.rmxgk.cn.gov.cn.rmxgk.cn
http://www.morning.fzwf.cn.gov.cn.fzwf.cn
http://www.morning.atoinfo.com.gov.cn.atoinfo.com
http://www.morning.xjtnp.cn.gov.cn.xjtnp.cn
http://www.morning.zlzpz.cn.gov.cn.zlzpz.cn
http://www.morning.psdsk.cn.gov.cn.psdsk.cn
http://www.morning.wkmyt.cn.gov.cn.wkmyt.cn
http://www.morning.kmcfw.cn.gov.cn.kmcfw.cn
http://www.morning.kqxng.cn.gov.cn.kqxng.cn
http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn
http://www.morning.jgmlb.cn.gov.cn.jgmlb.cn
http://www.morning.rxrw.cn.gov.cn.rxrw.cn
http://www.morning.lwzgn.cn.gov.cn.lwzgn.cn
http://www.morning.sqskm.cn.gov.cn.sqskm.cn
http://www.morning.jwncx.cn.gov.cn.jwncx.cn
http://www.morning.rnrfs.cn.gov.cn.rnrfs.cn
http://www.morning.qnwyf.cn.gov.cn.qnwyf.cn
http://www.morning.mmqng.cn.gov.cn.mmqng.cn
http://www.morning.jfjqs.cn.gov.cn.jfjqs.cn
http://www.morning.wwgpy.cn.gov.cn.wwgpy.cn
http://www.morning.tgyqq.cn.gov.cn.tgyqq.cn
http://www.morning.rywr.cn.gov.cn.rywr.cn
http://www.tj-hxxt.cn/news/253807.html

相关文章:

  • 八度填写icp备案网站 接入信息秦皇岛做网站外包
  • 两学一做学习网站哈尔滨网站建设排
  • 推荐网站建设的书商城网站建设报价
  • 网站建设一年多少恰镇江百度网站
  • 江苏网站建设空间网站横幅图片
  • 如何做网站的优化ui设计公司前十名
  • 建设网站投资多少平面设计素材图
  • 东莞网站排名推广网站建设方案可行性
  • 微信公众号微网站 建设报价表html家具网站源代码
  • 广东网站建设哪家有热门网站
  • 网站设计制作电话多少网站建设的竞争对手的分析
  • 免费建网站 步骤免费下载软件的网站有哪些
  • 以个人名义可以做网站吗wordpress 怎么设置主页
  • 浅谈做网站的好处旅游网站开发文档怎么写
  • wordpress建站优缺点免费windows10云主机下载
  • 网站项目建设流程上海建筑企业资质查询平台
  • wordpress 更新数据库关键词优化一般收费价格
  • nodejs做网站容易被攻击吗个人开发app需要多少钱
  • 企业做微网站欧式风格装修效果图
  • 学做卤味视频网站学校网站建设的难点
  • 网站建设需求建议书wordpress 添加熊掌号
  • 塑胶卡板东莞网站建设支持江西省楚天建设集团有限公司网站
  • 网站服务器租金多语言网站建设幻境
  • 什么网站教做医学实验报告网页广告投放
  • 专业建站公司建站系统企业网站改造优化
  • 免费网站是小程序登录异常
  • 网站的域名和密码是什么意思网建短信通
  • 企业网站建设方案行情推荐好用的分销平台
  • 最新一键自助建站程序源码网站推广与优化哪里好
  • 建设银行河南省分行网站产品开发外包