Java多线程学习路线
在学习之前,需要对线程的概念和多线程编程的常见问题有基本理解。
1 线程
- Thread(重要)
- Runnable(重要)
- Callable和FutureTask(重要)
- CompletableFuture
2 线程池
- ThreadPoolExecutor(重要)
- ScheduledThreadPoolExecutor
- ForkJoinPool
- Executors
3 锁
- synchronized(重要)
- volatile(重要)
- AbstractQueuedSynchronizer(重要)
- ReentrantLock(重要)
- CountDownLatch
- ReentrantReadWriteLock
- Semaphore
- CyclicBarrier
4 并发容器
- ConcurrentHashMap(重要)
- ArrayBlockingQueue
- ConcurrentLinkedDeque和ConcurrentLinkedQueue
- ConcurrentSkipListMap和ConcurrentSkipListSet
- CopyOnWriteArrayList和CopyOnWriteArraySet
- DelayQueue
- LinkedBlockingDeque和LinkedBlockingQueue
- LinkedTransferQueue
- PriorityBlockingQueue
5 线程工具
- ThreadLocal(重要)
- InheritableThreadLocal
- ThreadLocalRandom
6 原子类
- AtomicInteger:代表AtomicBoolean和AtomicLong
- AtomicIntegerArray:代表AtomicLongArray
- AtomicReference和AtomicReferenceArray
- AtomicMarkableReference
- AtomicStampedReference