Java 并发

1 ThreadLocal
2 AQS/AbstractQueueSynchronizer

Thinking in Java

21.2.1 定义任务
1 Runnable

21.2.2
2 Thread

21.2.3
3 Executor, 4种线程池

21.2.4
4 Callable

21.2.5 休眠
5 sleep()
6 TimeUnit

21.2.6 优先级
7 优先级 setPriority()/getPriority()

21.2.7 让步
8 yield()

21.2.8
9 后台线程,daemon
10 ThreadFactory接口

21.2.11
11 join() , CyclicBarrier

21.2.13 线程组

21.2.14 捕获异常

21.3 共享受限资源
21.3.2
12 锁,互斥量mutex
13 synchronized
14 Lock对象, ReentrantLock

21.3.3
15 原子性与易变性
16 volatile

21.3.4
17 原子类 AtomicInteger, AtomicLong, AtomicReference

21.3.5
18 临界区, 同步控制块(synchronized代码块)

21.3.7 线程本地存储
防止任务再共享资源上产生冲突的第二种方式是根除对变量的共享
19 ThreadLocal

21.4 终结任务
20 中断,
21 阻塞类型,SleepBlock,可中断的阻塞, IOBlock不可中断, SynchronizedBlock不可中断
22 检查中断,interrupted()

21.5 线程之间的协作
Object 的 wait() & notifyAll(), Condition的 await() & signal()
21.5.1 wait() & notifyAll()
21.5.2 notify() & notifyAll()
21.5.3 生产者与消费者
21.5.4 生产者-消费者与队列
1 BlockingQueue, LinkedBlockingQueue, ArrayBlockingQueue

21.5.5 任务间使用管道进行输入/输出
线程间通信
PipedWriter, PipedReader

21.6 死锁

21.7 新类库
21.7.1 CountDownLatch
21.7.2 CyclicBarrier
21.7.3 DelayQueue
21.7.4 PriorityBlockingQueue
21.7.5 ScheduledExecurot
21.7.6 Semaphore
21.7.7 Exchanger

21.8 仿真

21.9 性能调优
21.9.1 比较各类互斥技术
21.9.2 免锁容器,乐观锁,比较各种Map实现
21.9.3 乐观加锁
21.9.4 ReadWriteLock

21.10 活动对象
Future

你可能感兴趣的:(Java 并发)