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

六盘水南宁网站建设商城网站系统

六盘水南宁网站建设,商城网站系统,牡丹江站,xampp装wordpress线程池 线程池状态 1.RUNNING 表示线程池正常运行#xff0c;既能接受新任务#xff0c;也会正常处理队列中的任务 2. SHUTDOWN 当调用线程池的shutdown(#xff09;方法时#xff0c;线程池就进入SHUTDOWN状态#xff0c;表示线程池处于正在关闭状态#xff0c;此状…线程池 线程池状态 1.RUNNING 表示线程池正常运行既能接受新任务也会正常处理队列中的任务 2. SHUTDOWN 当调用线程池的shutdown(方法时线程池就进入SHUTDOWN状态表示线程池处于正在关闭状态此状态下线程池不会接受新任务但是会继续把队列中的任务处理完 3. STOP 当调用线程池的shutdownnow(方法时线程池就进入STOP状态表示线程池处于正在停止状态此状态下线程池既不会接受新任务了也不会处理队列中的任务并且正在运行的线程也会被中断 4. TIDYING 线程池中没有线程在运行后线程池的状态就会自动变为TIDYING并且会调用terminated()该方法是空方法留给程序员进行扩展。 5.TERMINATED terminated(方法执行完之后线程池状态就会变为TERMINATED 创建线程执行任务 方法一继承Thread类 public class test extends Thread {public static void main(String[] args) {test t new test();t.start();}Overridepublic void run() {System.out.println(hello);} } 方法二实现Runna接口 public class test implements Runnable{public static void main(String[] args) {Thread tnew Thread(new test());t.start();}Overridepublic void run() {System.out.println(hello);} } 方法三实现Callable接口 public class test implements CallableString {public static void main(String[] args) throws ExecutionException, InterruptedException {FutureTaskString futureTask new FutureTask(new test());Thread thread new Thread(futureTask);thread.start();String result futureTask.get();System.out.println(result);}Overridepublic String call() throws Exception {return null;} } 方法四利用线程池来创建线程 public class test implements Runnable {public static void main(String[] args) {ExecutorService executorService Executors.newFixedThreadPool(10);executorService.execute(new test());}Overridepublic void run() {System.out.println(test);} } 为什么不用Executors 发现创建的队列为LinkedBlockingQueue是一个无界阻塞队列如果使用该线程池执行任务如果任务过多就会不断的添加到队列中任务越多占用的内存就越多最终可能耗尽内存导致OOM。 Executors来创建线程池也不能自定义线程的名字不利于排查问题所以建议直接使用ThreadPoolExecutor来定义线程池这样可以灵活控制。 ThreadLocal ThreadLocal是Java中所提供的线程本地存储机制可以利用该机制将数据缓存在某个线程内 部该线程可以在任意时刻、任意方法中获取缓存的数据 实现原理 ThreadLocal底层是通过ThreadLocalMap来实现的每个Thread对象中都存在一个ThreadLocalMapMap的key为ThreadLocal对象Map的value为需要缓存的值 应用场景 连接管理一个线程持有一个连接例如数据库连接该连接对象可以在不同的方法之间进行传递线程之间不共享同一个连接 内存泄漏 因为当ThreadLocal对象使用完之后应该要把设置的key,value也就是Entry对象进行回收但线程池中的线程不会回收而线程对象是通过强引用指向ThreadLocalMap,ThreadLocalMap也是通过强引用指向Entry对象线程不被回收Entry对象也就不会被回收从而出现内存泄漏 解决办法在使用了ThreadLocal对象之后手动调用ThreadLocal的remove方法手动清楚Entry对象
http://www.pierceye.com/news/885267/

相关文章:

  • 使用word做网站网络广告的特点有哪些?
  • 网站系统参数设置定制网站的制作流程
  • 做家教网站公司品牌vi设计升级
  • 唯品会网站建设建议浙江网站建设价格费用
  • 网站建设购买深圳有做网站的公司有哪些
  • 网站预算表怎么做网站域名续费怎么续费
  • 宁波建设网站公众号关注编辑网站教程
  • 怎样自己做刷赞网站开发软件需要多少成本
  • 为什么网站之有首页被收录广西两学一做网站
  • 制作网站需要的软件怎么向google提交网站
  • 济南网站的建设公司网站建设征求意见表
  • 小学校园网站建设简介打开网站弹出一张图片 怎么做
  • 做外贸没有网站需要注意什么条件做简历模板的网站都有哪些
  • 铜陵保障性住房和城乡建设网站舞钢市城乡建设局网站
  • 企业网站总承包建设模式关键步骤凡科论文送审平台
  • 石家庄学校网站建设在线定制签名
  • 新泰网站制作公司免费下载百度seo
  • 江苏海宏建设工程有限公司网站免费软件是怎么盈利的
  • 建设网站需要申请什么推广网站排名
  • 怎么看出网站是dede做的网页的响应式布局
  • 中国农村建设网站静安广州网站建设
  • 全国 做网站的企业wordpress+编辑模板
  • 网站开发需要的编程软件有哪些海门住房和城乡建设局网站
  • 南宁上林网站建设交换链接是什么
  • 什么网站做简历好api模式网站开发
  • 网站建设与管理专业好吗网络推广seo培训班
  • 常用网站架构辽宁建设工程信息网审计报告
  • 绿色大气网站模板坪山网站建设公司
  • 网站建设动态wordpress禁止自动升级
  • 网站建设网站建设平台网站建设费计入什么科目比较好