Java 并发编程之美:并发编程高级篇之五

Java 并发编程实践中的话:编写正确的程序并不容易,而编写正常的并发程序就更难了。相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没有进行适当同步的情况下多线程中各个操作的顺序是不可预期的。

并发编程相比 Java 中其他知识点学习起来门槛相对较高,学习起来比较费劲,从而导致很多人望而却步;而无论是职场面试和高并发高流量的系统的实现却都还离不开并发编程,从而导致能够真正掌握并发编程的人才成为市场比较迫切需求的。

本 Chat 作为 Java 并发编程之美系列的高级篇之五,讲解 JUC 包中提供的三种线程同步器的使用与原理分析内容如下:(建议先阅读 并发编程高级篇之三-锁 )

  • JUC 中倒数计数器 CountDownLatch 的使用与原理分析,当需要等待多个线程执行完毕后在做一件事情时候 CountDownLatch 是比调用线程的 Join 方法更好的选择, CountDownLatch 与线程的 Join 方法区别是什么?
  • JUC 中回环屏障 CyclicBarrier 的使用与分析,它也可以实现像CountDownLatch一样让一组线程全部到达一个状态后再全部同时执行,但是 CyclicBarrier 可以被复用。那么CyclicBarrier内部的实现与 CountDownLatch 有何不同?
  • JUC 中 Semaphore的使用与原理分析,Semaphore 也是 Java 中的一个同步器,与 CountDownLatch 和 CycleBarrier 不同在于它内部的计数器是递增的,那么,Semaphore 的内部实现是怎样的?
  • 最后对上面三种同步器实现进行简单对比。

阅读全文: http://gitbook.cn/gitchat/activity/5ad81258118b0c176b05b2be

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

FtooAtPSkEJwnW-9xkCLqSTRpBKX

你可能感兴趣的:(Java 并发编程之美:并发编程高级篇之五)