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

dede网站地图地睛方法数码做的网站怎么样

dede网站地图地睛,方法数码做的网站怎么样,网站建设与管理感想,四川建设厅网站怎么进不去文章详细内容来自#xff1a;线程数突增#xff01;领导#xff1a;谁再这么写就滚蛋#xff01; 下面是看完后文章的#xff0c;一个总结 线程池的使用不规范#xff0c;导致程序中线程数不下降#xff0c;线程数量大。 临时变量的接口#xff0c;通过下面简单的线…文章详细内容来自线程数突增领导谁再这么写就滚蛋 下面是看完后文章的一个总结 线程池的使用不规范导致程序中线程数不下降线程数量大。 临时变量的接口通过下面简单的线程池执行 private static void threadDontGcDemo(){ExecutorService executorService  Executors.newFixedThreadPool(10);executorService.submit(() - {System.out.println(111);});} 线程不被GC回收主要是线程池的gc root还是有可达路径的。这里讲个冷知识这里的线程池的gc root是线程具体的gc路径是thread-workers-线程池 如果临时采用线程池需要 手动设置线程池的shutdown下面写法: private static void threadDontGcDemo(){ExecutorService executorService  Executors.newFixedThreadPool(10);executorService.submit(() - {System.out.println(111);});executorService.shutdown();} 原理是shutdown方法是遍历所有线程并且调用线程的interrupt()方法通知线程中断当worker进行getTask()时让处于wait的线程打断抛出异常workers捕获该workerworkers.remove(w)然后将worker移除workers这样gc root就不可达了便会被GC掉。 也就是说线程池的shutdownnow方法调用interruptIdleWorkers去对线程对象interrupt是为了让处于waiting或者是time_waiting的线程抛出异常。 总结为 线程池调用shutdownnow方法是为了调用worker对象的interrupt方法来打断那些沉睡中的线程waiting或者time_waiting状态使其抛出异常 线程池会把抛出异常的worker对象从workers集合中移除引用此时被移除的worker对象因为没有到达gc root的路径已经可以被gc掉了 等到workers对象空了并且当前tomcat线程也结束此时线程池对象也可以被gc掉整个线程池对象成功释放 Async 线程控制 如果不进行线程控制则异步执行程序越多会导致线程用尽。 一种方式是全局配置所有的异步线程共用线程池 Configuration public class AsyncConfig implements AsyncConfigurer {Overridepublic Executor getAsyncExecutor() {ThreadPoolTaskExecutor executor new ThreadPoolTaskExecutor();executor.setCorePoolSize(10);executor.setMaxPoolSize(20);executor.setQueueCapacity(100);return executor;}Overridepublic AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {return new CustomAsyncExceptionHandler();}Overridepublic Integer getAsyncExecutor() {return 30; // 单位为秒}} 另外一种是Async标签指定使用的线程池名称 Configuration EnableAsync public class TaskExcutorConfig {Bean(taskExecutor)public Executor taskExecutro() {ThreadPoolTaskExecutor taskExecutor new ThreadPoolTaskExecutor();taskExecutor.setCorePoolSize(30);taskExecutor.setMaxPoolSize(50);taskExecutor.setQueueCapacity(200);taskExecutor.setKeepAliveSeconds(60);taskExecutor.setThreadNamePrefix(taskExecutor--);taskExecutor.setWaitForTasksToCompleteOnShutdown(true);taskExecutor.setAwaitTerminationSeconds(60);return taskExecutor;}Bean(commonExecutor)public Executor commonTaskExecutro() {ThreadPoolTaskExecutor taskExecutor new ThreadPoolTaskExecutor();taskExecutor.setCorePoolSize(50);taskExecutor.setMaxPoolSize(100);taskExecutor.setQueueCapacity(2000);taskExecutor.setKeepAliveSeconds(60);taskExecutor.setThreadNamePrefix(commonExecutor--);taskExecutor.setWaitForTasksToCompleteOnShutdown(true);taskExecutor.setAwaitTerminationSeconds(60);return taskExecutor;}Bean(notificationExecutor)public Executor notificationExecutor() {ThreadPoolTaskExecutor taskExecutor new ThreadPoolTaskExecutor();taskExecutor.setCorePoolSize(30);taskExecutor.setMaxPoolSize(60);taskExecutor.setQueueCapacity(2000);taskExecutor.setKeepAliveSeconds(60);taskExecutor.setThreadNamePrefix(notificationExecutor--);taskExecutor.setWaitForTasksToCompleteOnShutdown(true);taskExecutor.setAwaitTerminationSeconds(60);return taskExecutor;} } 使用时标明 Async(commonExecutor)
http://www.hkea.cn/news/14344876/

相关文章:

  • 网站建设套餐电商网站建设的目的
  • 怎么把自己做的网站传网上云南做网站的公司有哪些
  • 网站app建设图片外贸建站wordpress主题
  • 信息化和网站建设管理工作情况网站建设珠海
  • 外贸网站演示搜狗浏览器网页版入口
  • 网站备案vpn注销那些网站可以做问答
  • 手机网站建设视频教程烟台seo关键词排名
  • 网站标识描述可以填关键词吗哪个网站做外贸零售比较好呢
  • 网页设计作业网站赤峰是住房和城乡建设局网站
  • 做爰全过程免费的视频凤凰网站网页设计培训怎么做好
  • mcms怎么做网站徐州新站百度快照优化
  • 2017网站开发工程师wordpress自动翻译
  • 移动端企业网站腾讯企点电脑版
  • 网站域名跳转是怎么做的网站建设属于什么经营类型
  • 顺德做网站那家好国外免费网站域名服务器查询软件
  • 网站关键词快速排名wto最新新闻
  • 那些网站是php做的碑林网站制作
  • 全局右下角弹窗wordpress网站中有哪些标签需要优化
  • 自己可以做开奖网站吗网站建设费是宣传费用吗
  • 懂做网站怎么赚钱广告设计与制作可以自学吗
  • 单页面的网站模板免费下载为什么wordpress打不开
  • 教育机构网站制作模板天津建设银行网站
  • 吸引企业做网站七彩建设集团官方网站
  • 凯里市网站建设东营网站推广排名
  • 快速设计网站株洲网站建设工作室
  • 自己可以做网站服务器深圳手机网站建设服务
  • 网站建设在哪里办公搜索引擎排名规则
  • 邵阳网站seo云南建设银行招聘网站
  • 聊城汽车网站建设汉口网站建设公司
  • 用符号做照片的网站山东住房建设部官方网站