星驰编程网

免费编程资源分享平台_编程教程_代码示例_开发技术文章

CountDownLatch源码分析(countdownlatch api)

源码分析

countDownLatch()

构造方法中传入了一个int值,就是需要并发的线程数

进一步看是设置状态的值为count

countDown()

如果CountDownLatch中的state已经为0了,那么再次执行countDown跟没执行一样,这样await()就不会阻塞了。

await()

调用了AQS提供的获取共享锁并且允许中断的方法,AQS提供的获取共享锁并且允许中断的方法,最后将线程唤醒。

总结

CountDownLatch本身就好像一个计数器,可以让一个线程或多个线程等待其他线程完成后再执行。使用方法也非常的简单,大家自己去尝试即可。

在使用的过程中一定要注意计数器的释放的地方,跟我们之前讲过的ForkJoin实现等待的逻辑非常的相似,大家可以自己去对比一下试试。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言