Java并发编程
紫红色的紫红
这个作者很懒,什么都没留下…
展开
-
JUC并发包之CountDownLatch、CyclicBarrier和Semaphore(附测试代码)
使用CountDownLatch、CyclicBarrier和Semaphore这三个线程同步器类可以大大减少在Java并发编程中使用wait、norify、join等来实现线程同步的代码量并保证正确性。同时这三个类的使用也各有区别,接下来进行一一介绍。 CountDownLatch CountDownLatch经典场景是一个主线程等待多个子线程执行完毕再进行汇总的场景。他的内部维护一个计数器来控制线程同步(实际上是使用AQS来存放计数器的值)。 首先在初始化CountDownLatch时我们设..原创 2020-07-13 21:45:59 · 208 阅读 · 0 评论 -
Java并发编程——ThreadLocal
我们知道,在多线程访问同一个共享变量的情况下,为了保证不出现并发问题,我们往往需要对其进行同步操作,一般是通过加锁。那么,有没有一种方法,创建一个变量,使得每个线程对其进行访问都是访问自己线程的变量呢?ThreadLocal就可以实现这个操作。 何为ThreadLocal ThreadLocal是JDK提供的,位于java.lang包中,它提供了一...原创 2020-04-26 17:40:05 · 240 阅读 · 1 评论