为什么线程要放在for循环内

来源:6-2 J.U.C之AQS-CountDownLatch

Alan_1224

2019-03-14


http://img.mukewang.com/szimg/5c89cafa0001e08506400360.jpg为什么线程要放在for循环内,for循环不是应该判断thredCount是否满足条件,再循环吗,麻烦详细讲一下里面的逻辑

写回答

2回答

Jimin

2019-03-14

你好,楼上那位同学解答的很对。另外我想补充问一下的是,为什么你说把线程放入线程池要先检查threadCount,如果检查大于threadcount计划怎么办?
隐约感觉你对这个的理解有点问题,线程池应该是在声明时定义好线程数相关变量及拒绝策略,之后交给线程池内部调度即可,而不是手动根据线程的一些实时数据决定是否放入线程数影响他的调度,我大致能感觉出你是想自己处理线程池放不下时的处理(本质上属于线程池支持的拒绝策略),你再想想看是不是这个样子。

0
0

BreezeFlow

2019-03-14

这里是 主线程使用for循环模拟开启200个线程来执行不同的任务(即test方法),然后主线程执行await方法进入阻塞状态,200个线程没执行完 就调用countDown方法使得 countDownLatch 的计数器count-1,直到count为0,就表示都执行完了,在执行后续的操作

0
0

Java高并发编程,构建并发知识体系,提升面试成功率

构建完整并发与高并发知识体系,倍增高薪面试成功率!

3923 学习 · 832 问题

查看课程