多线程+并发编程 3

递增 模式   
LongAdder     cas  操作   分段  执行
Sync
AtomicLong 多线程  情况   cas 操作

基于cas操作  新类型的锁  ReentrantLock 

synchronized   必须可重入

ReentrantLock  可以替换 synchronized   

AQS 是 cas

新的锁都是AQS   所以新的锁 就是cas

CountDownLatch  多个线程  latch.countDown();     latch.await();  -------进一步执行以下逻辑   

CyclicBarrier  满员发车    barrier.await();

限流 guava RateLimiter 

并发执行

      线程操作

      线程操作

Phaser  

ReadWriteLock  当你在读时 其他线程 写时,不可以 读可以   当你在写时,完全上锁

static Lock readLock = readWriteLock.readLock();

static Lock writeLock = readWriteLock.writeLock();

   

Semaphore s = new Semaphore(2);         同时允许两个线程同时执行 

s.acquire();

 

线程之间 交换数据 

static Exchanger<String> exchanger = new Exchanger<>();

s = exchanger.exchange(s);

 

实战  java  高并发设计  入门   张一鸣  

锁的分类  

       乐观锁  cas  悲观锁sys  自旋锁 cas  读写锁 (排它锁 共享锁)readWriteLock  分段锁 LongAdder currenthashmap

加解锁  
LockSupport.park();
LockSupport.unpark(t);

   AQS (CLH) 

volatile   state  1 拿到    0  没有拿到    cas   node线程多列抢不到锁的话  加入队列   head+tail  通过cas  加入队列 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值