ThreadExecutorPool 线程池组件

ThreadExecutorPool是使用最多的线程池组件:

Executor是用来执行提交的Runnable任务的对象,并以接口的形式定义,提供一种提交任务(submission task)与执行任务(run task)之间的解耦方式,还包含有线程使用与周期调度的详细细节等。Executor常常用来代替早期的线程创建方式,如new Thread(new(RunnableTask())).start(),在实际中可以用如下的方式来提交任务到线程池里,Executor会自动执行 你的任务.

  1. Executor executor = anExecutor;  
  2. executor.execute(new RunnableTask1());  

我发现一个案例:

我的疑问:

1- latch 就是作为这个线程类的 入参?根本没有用到的地方,仅仅是父类构造方法里传入了latch参数:

public BaseHealthChecker(String serviceName, CountDownLatch latch)

  _latch.countDown();//父类里run()这个和 Excecutor里size有啥关系??

下面是 主启动类里面设置线程池的地,和上面的countDown有啥关系?

//Start service checkers using executor framework
Executor executor = Executors.newFixedThreadPool(_services.size());

这里循环里面return false是我特别不能理解的?为什么在方法的最后又返回true???

 

还有著名的await方法:

//Now wait till all services are checked
_latch.await(); //这个和 Excecutor两回事哈,这个就是锁--计数!!

转载于:https://www.cnblogs.com/x-guozheng/p/7290915.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值