Java Concurrency
2017-11-29 20:42:47 0 举报
AI智能生成
Java并发知识框架,基于Java并发编程的艺术整理,尽可能详尽的展示了Java并发框架所有内容
作者其他创作
大纲/内容
Java Concurrency
Lock
synchronized关键字
Lock接口
tryLock()
tryLockInterruptibly()
lock()
unLock()
newCondition()
锁的实现AQS队列同步器AbstractQueuedSynchronized
同步器提供的可重写的方法
tryAcquire()
tryRelease()
tryAcquireShared()
tryReleaseShared()
isHeldExclusively()
同步器提供的模板方法
acquire()
acquireInterruptily()
tryAcquireNanos()
acquireShared()
acquireSharedInterruptily()
tryAcquireSharedNanos()
release()
releaseShared()
getQueuedThreads()
同步器内部同步队列节点的四个状态
CANCELLED 1
SIGNAL -1
CONDITION -2
PROPAGATE -3
获取锁的方式
独占式获取
共享式获取
独占式超时获取
锁的分类
重入锁
公平锁
非公平锁
读写锁
Condition接口
await()
awaitUninterruptily()
awaitNanos(long)
awaitUntil(Date)
signal()
signalAll()
并发框架
Fork/Join框架
Executor框架
任务
任务的执行
核心类ThreadPoolExecutor
ThreadPoolExecutor的组成
corePool
maxiumPool
BlockingQueue
RejectExecutionHandler
三种类型的ThreadPoolExecutor
FixedThreadPool
SingleThreadExecutor
CachedTheradPool
核心类ScheduledThreadPoolExecutor
异步计算的结果
并发工具类
CountDownLatch
CyclicBarrier
Semaphore
Exchange
基础
线程的状态
NEW 初始状态,线程被构建,但是还没有调用start()方法
RUNNABLE 运行状态,或者就绪状态(还没分到CPU时间片)
BLOCKED 阻塞状态
WAITING 等待状态,需要等待其他线程作出一些特定的动作(如通知或者中断)
TIME_WAITING 超时等待状态,可以在指定时间内自行返回
TERMINATED 终止状态,当前线程已经执行完毕
线程的优先级
MAX_PRIORITY
NORM_PRIORITY
MIN_PRIORITY
后台线程
中断
interrupt()
Thread.interrupted()
isInterrupted()
线程间通信
volatile
等待/通知
notify()
notifyAll()
wait()
wait(long)
管道输入/输出流
Thread.join() wait for the current thread die
线程局部变量
线程应用实例
等待超时模式
数据库连接池,超过时间获取不到数据库连接时返回null
线程池技术
Java并发容器
ConcurrentHashMap
get()
put()
size()
ConcurrentLinkedQueue
阻塞队列
ArrayBlockingQueue
LinkedBlockingQueue
PriorityBlockingQueue
DelayQueue
SynchronousQueue
LinkedTransferQueue
LinkedBlockingDeque
原子操作类
原子更新基本类
AtomicBoolean
AtomicInteger
AtomicLong
原子更新数组
AtomicIntegerArray
AtomicLongArray
AtomicReferenceArray
原子更新引用类型
AtomicReference
AtomicReferenceFieldUpdater
AtomicMarkableReference
原子更新字段类
AtomicIntegerFieldUpdater
AtomicLongFieldUpdater
AtomicStampedReference
收藏
0 条评论
回复 删除
下一页