Skip to content

CodePrometheus/Java-Concurrency

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java-Concurrency

Java并发编程

线程

 创造线程
 ThreadPool
 ThreadLocal

 乐观与悲观锁
 公平与非公平锁
 可重入锁与非可重入锁:以ReentrantLock为例
 共享锁和排他锁:以ReentrantReadWriterLock读写锁为例
 自旋锁和阻塞锁
 可中断锁
 锁优化

原子类

基本类型原子类
    AtomicInteger
    AtomicLong
    AtomicBoolean
 
数组类型原子类
    AtomicIntegerArray
    AtomicLongArray
    AtomicReferenceArray
       
引用类型原子类
    AtomicReference
    AtomicStampedReference
    AtomicMarkableReference
    
升级类型原子类
    AtomicIntegerFieldUpdater
    AtomicLongFieldUpdater
    AtomicReferenceFieldUpdater
    
Adder累加器
    LongAdder
    DoubleAdder
    
Accumulator累加器
    LongAccumulator
    DoubleAccumulator  

CAS

原理
应用场景
Java中如何利用CAS实现原子操作
缺点

不可变性

final的作用与用法
不可变性
栈封闭

并发容器

ConcurrentHashMap
CopyOnWriteArrayList
并发队列
    阻塞队列
    非阻塞队列

控制并发流程

各个线程之间相互协调
CountDownLatch(一等多,多等一)
Semaphore(控制并发总量)
Condition
CyclicBarrier

About

Java | concurrent programming, synchronization primitives

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages