高并发
探花枖郎
扶摇直上九万里
展开
-
阻塞队列的使用Demo
谈到阻塞队列需要谈到以往的lock中的await和signel,以往线程的状态需要我们手动修改来完成线程间的调度,此时BlockingQueue阻塞队列横空出世,即线程状态的挂起和唤醒状态都由该队列内部完成,你用即可,该队列在多线程场景下,可以很好的实现生产和消费的模式,其实消息中间件底层用的就是该队列。BlockingQueue核心的方法就是offer和poll,即放和拿,不传参意为拿不到或...原创 2020-04-05 11:16:04 · 477 阅读 · 0 评论 -
ReentrantReadWriteLock锁Demo及注解
读写各代表共享锁和独占锁独占锁:一个锁只能被一个线程使用共享锁:一个锁可被多个线程使用;读锁的共享锁保证并发读是非常高效的package com.reentralock;import java.util.HashMap;class myCache{ private volatile HashMap<String, Object> map = new Has...原创 2020-04-04 14:12:16 · 307 阅读 · 0 评论 -
java自旋锁Demo+原理
自旋一词来源于CAS,即compareandSet(比较和交换),CAS实现基础应在原子引用或者操作原子Atomic类型之上,意思就是线程通过不断循环的方式来获取锁,package com.reentralock;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicReference...原创 2020-04-04 11:12:12 · 523 阅读 · 0 评论