为了账号安全,请及时绑定邮箱和手机立即绑定

Executors创建单个线程池为什么出现两个线程池

Executors创建单个线程池为什么出现两个线程池

心有法竹 2019-01-17 18:58:46
@Componentpublic class StatusListener implements ServletContextAware { final ReentrantLock lock = new ReentrantLock(); @Override public void setServletContext(ServletContext servletContext) { Runnable runnable = new Runnable() { public void run() { statusTask(); } }; ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor(); // 第二个参数为首次执行的延时时间,第三个参数为定时执行的间隔时间 service.scheduleAtFixedRate(runnable, 20, 60, TimeUnit.SECONDS); } public void statusTask() { final ReentrantLock lock = this.lock; lock.lock(); try { System.out.println(Thread.currentThread().getName()); System.out.println(Thread.currentThread().getId()); } catch (Exception e) { e.printStackTrace(); } finally { lock.unlock(); } } } 运行结果为:pool-2-thread-140 pool-4-thread-142
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 569 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信