CountDownLatch

 

 

1 其中一个子线程失败 异常 或者超时怎么处理

    重试几次

    还是舍弃任务 然后  依然 countDown

不然 state减不到0 主线程会一直处于await状态

 

 

 3  使用过程中 遇到什么问题

和线程池结合使用 线程池 的拒绝策略是 当前线程去处理

这样 一直没减到0 主线程一直处于await 阻塞状态   其实主线程去处理 也要-1(根源) 

怎么解决 处理:(再想想 其他更好的 看看源码 多去实践)

  3.1 主线程处理 也-1  但是 如果后面失败了 没法再+1 啊 只能抛异常 全部回滚

  3.2 拒绝策略换成 非主线程去做 抛异常 可能会影响其他业务

  3.3 自己去实现个多个线程去搞

posted @ 2020-07-13 16:51  conn2019  阅读(148)  评论(0编辑  收藏  举报