Java-Thread
简介
概述
资源限制
有关并行的两个定律
线程同步和阻塞
线程阻塞
线程的特性
守护线程
线程异常
Thread
线程状态
线程中断
wait¬ify
suspend&resume
join&yield
notify¬ifyAll
Thread.sleep
线程任务
Runnable
Callable
Future模式
FutureTask
线程调度
多线程协作方式
阻塞
放弃
休眠
连接线程
线程估算公式
线程活跃性
死锁
线程安全性
对象的发布与逸出
构造方法溢出
线程封闭
对象的可变性
原子性
原子操作
CPU原子操作原理
总线锁
缓存锁
JAVA如何实现原子操作
long和double读写操作原子性
Adder和Accumulator
线程性能
同步工具类
闭锁
CountDownLatch
FutureTask
信号量
栅栏
CyclicBarrier
Exchanger
并发编程
volatile
synchronized
synchronized语法
Mutex Lock
锁升级
偏向锁
轻量级锁
锁的优缺点对比
synchronized实践问题
synchronized&ReentrantLock
锁消除
volatile和synchronized比较
Lock
ReentrantLock
Condition
读写锁
ReadWriteLock
StampedLock
线程池
Executor
ExecutorService
Executors
ThreadPoolExecutor
RejectedExecutionHandler
ThreadFactory
线程池大小公式
Fork/Join框架
ForkJoinPool
CompletableFuture
JUC并发工具包
LockSupport
延时任务与周期任务
Timer
TimerTask
异构任务并行化
CompletionService
锁优化
JVM锁优化
锁消除
ThreadLocal
无锁
AtomicInteger
Unsafe
AtomicReference
AtomicStampedReference
AtomicIntegerArray
AtomicIntegerFieldUpdater
无锁Vector
LongAdder
LongAccumulator
常见锁类型
CAS
AQS
CLH锁
互斥锁
并发框架
Akka
Disruptor-无锁缓存框架
附录
术语
ThreadMXBean
Powered by
GitBook
锁的优缺点对比
锁的优缺点对比
锁
优点
缺点
适用场景
偏向锁
加锁和解锁不需要额外的消耗,和执行非同步方法比仅存在纳秒级的差距
如果线程间存在锁竞争,会带来额外的锁撤销的消耗
适用于只有一个线程访问同步块场景
轻量级锁
竞争的线程不会阻塞,提高了程序的响应速度
如果始终得不到锁竞争的线程使用自旋会消耗CPU
追求响应时间,同步块执行速度非常快
重量级锁
线程竞争不使用自旋,不会消耗CPU
线程阻塞,响应时间缓慢
追求吞吐量,同步块执行速度较长
results matching "
"
No results matching "
"