分布式高并发
知易行难-坚持
这个作者很懒,什么都没留下…
展开
-
unsafe.compareAndSwapInt aqs
U.compareAndSwapInt(this, CELLSBUSY, 0, 1)this 表示当前对象 CELLSBUSY 偏移量内存地址 0 期望值, 1 更新值CELLSBUSY = U.objectFieldOffsetk.getDeclaredField("cellsBusy"));如果 cellsBusy==0 就把内存地址的值改为1 只有一个线程能进入.此方法是Java的native方法,并不由Java语言实现。方法的作用是,读取传入对象this在内存中偏移量为CEL...原创 2021-09-18 17:39:13 · 415 阅读 · 0 评论 -
并发工具CountDownLatch SemaphoreCyclicBarrier
20210913:并发工具CountDownLatch:计数器工具:await countDown它可以让一个线程阻塞,也可以让多个线程阻塞.共享锁的实现。 可以允许多个线程同时抢占到锁,然后等到计数器归零的时候,同时唤醒.state记录计数器. countDown的时候,实际上就是 state-- Semaphore:信号灯.限流器,限制资源的访问.本质上: 抢占一个令牌. -> 如果抢占到令牌,就通行, 否则,就阻塞!acquire() 抢占一个令牌release() 释...原创 2021-09-14 09:03:45 · 73 阅读 · 0 评论