构造函数中传入一个int值,即需要并发的线程数。
再进一步看就是将status的值设置为count
倒计时()
如果CountDownLatch中的状态已经为0,再次执行countDown将与不执行相同,因此await()不会阻塞。
等待()
调用AQS提供的获取共享锁并允许中断的方法,调用AQS提供的获取共享锁并允许中断的方法,最后唤醒线程。
总结
CountDownLatch本身就像一个计数器,允许一个线程或多个线程等待其他线程完成后再执行。使用方法也很简单,大家可以自己尝试一下。
标签:
用户评论
看了这篇CountDownLatch源码分析,真的涨知识了!之前一直对并发编程有点懵,现在对CountDownLatch的理解更深了。
有16位网友表示赞同!
CountDownLatch源码分析得挺详细的,不过感觉代码注释可以再详细一点,对于初学者来说有点难懂。
有6位网友表示赞同!
这篇CountDownLatch源码分析真是干货满满,把源码中的关键点都梳理出来了,谢谢分享!
有15位网友表示赞同!
CountDownLatch源码分析的文章太有用了,正好我在项目中要用到这个类,学到了很多。
有19位网友表示赞同!
CountDownLatch的源码分析得挺有意思的,不过我觉得可以增加一些实际应用场景的例子,更直观。
有17位网友表示赞同!
看完CountDownLatch源码分析,发现原来这个类这么简单,之前对并发编程的恐惧减轻了不少。
有8位网友表示赞同!
CountDownLatch源码分析的文章,对于想深入了解Java并发编程的人来说,是一篇不可多得的好文章。
有16位网友表示赞同!
CountDownLatch源码分析,虽然代码挺复杂的,但是作者解释得很清楚,学到了很多。
有16位网友表示赞同!
这篇文章的CountDownLatch源码分析太棒了,但是感觉文章太长了,能否分成几篇来写呢?
有18位网友表示赞同!
CountDownLatch源码分析,让我对Java并发有了新的认识,谢谢作者的分享。
有6位网友表示赞同!
CountDownLatch源码分析的文章,虽然代码部分看不懂,但是感觉作者的思路很清晰,值得学习。
有6位网友表示赞同!
CountDownLatch源码分析写得真好,让我这个新手也对并发编程有了兴趣,希望能有更多类似的文章。
有5位网友表示赞同!
CountDownLatch源码分析,感觉作者的讲解很细致,但是对于复杂逻辑的地方还是有点摸不着头脑。
有11位网友表示赞同!
看了CountDownLatch源码分析,发现原来这个类还可以这样用,太实用了,感谢作者的分享。
有10位网友表示赞同!
CountDownLatch源码分析的文章,让我对并发编程有了新的认识,但是感觉作者的代码注释可以更加详细。
有16位网友表示赞同!
CountDownLatch源码分析,对于有经验的开发者来说,这篇文章很有价值,但是对于新手来说,可能需要更多的辅助材料。
有20位网友表示赞同!
CountDownLatch的源码分析,让我对Java并发有了更深的理解,但是文章中的某些地方还是不太明白。
有11位网友表示赞同!
这篇文章的CountDownLatch源码分析,让我对并发编程有了新的认识,希望作者能出一篇更详细的讲解。
有16位网友表示赞同!
CountDownLatch源码分析,感觉作者的讲解方式很独特,让我这个编程小白也能理解,太感谢了!
有7位网友表示赞同!