1. CyclicBarrier实现分析

    CyclicBarrier

    2018/11/21 Java Java多线程

  2. ReentrantLock, Semaphore, CountDownLatch实现

    JUC中ReentrantLock, Semaphore, CountDownLatch, ReentrantReadWriteLock, FutureTask都是基于AQS构建。但是没有直接扩展AQS,而是都将它们的相应功能委托给私有的AQS子类Sync实现。

    2018/11/20 Java Java多线程

  3. ReentrantReadWriteLock实现分析

    使用案例 class RWDictionary { private final Map<String, Data> m = new TreeMap<String, Data>(); private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock(); private final Lock r = rwl.readLock(); private final Lock w = rwl.writeLock(); public Data get(String key) { r.lock(); try { return m.get(key); } finally { r.unlock(); } } public String[] allKeys() { r.lock(); try { return m.keySet().toArray(); } finally { r.unlock(); } } public Data put(String key, Data value) { w.lock(); try { return m.put(key, value); } finally { w.unlock(); } } public void clear() { w.lock(); try { m.clear(); } finally { w.unlock(); } } }

    2018/11/15 Java Java多线程

  4. Exchanger实现分析

    Exchanger用于进行线程间的数据交换,它提供一个同步点,在这个同步点,两个线程可以交换彼此的数据。这两个线程通过exchange 方法交换数据,如果第一个线程先执行exchange 方法,它会一直等待第二个线程也执行exchange 方法,当两个线程都到达同步点时,这两个线程就可以交换数据。

    2018/11/12 Java Java多线程

  5. fail-fast机制和ConcurrentModificationException

    迭代器的fail-fast机制

    2018/11/06 Java Java多线程

  6. Executor, ExecutorService, Executors, ScheduledExecutorService和CompletionService

    java.util.concurrent.Executor, java.util.concurrent.ExecutorService, java.util.concurrent.Executors 这三者均是 Java Executor 框架的一部分,使用Executor框架能够将任务的提交和任务的执行解耦,从单个线程的提交执行进化到通过线程池的形式进行管理。Java 1.5之后还提供了许多内置的线程池配置进一步简化线程池的创建和管理。

    2018/11/05 Java Java多线程

  7. Java线程池框架ThreadPoolExecutor实现分析

    线程池类图

    2018/11/02 Java Java多线程

  8. Java线程状态及Thread类

    线程的状态

    2018/10/28 Java Java多线程

  9. Java自定义注解

    什么是注解

    2018/10/24 Java

  10. Runnable, Callable, Future和FutureTask

    Runnable和Callable

    2018/10/15 Java Java多线程