09 2021 档案
摘要:线程状态可参考 https://www.cnblogs.com/LQBlog/p/15268773.html 问题 测试环境dubbo服务出现问题,一直刷警告日志,前端反应各个功能模块很慢,看日志是dubbo线程池满了,但是测试环境没有压力 2021-09-14 09:32:07,957 WARN
阅读全文
摘要:Thread几种状态 NEW(未启动状态) Thread t = new Thread() { @Override public void run() { System.out.println(Thread.currentThread().getName()); } }; System.out.pr
阅读全文
摘要:介绍 1.创建一个永久节点 2.竞争锁的时候同样的的key 所有线程都往永久节点插入指定key name的临时节点(节点不允许重复只会有一个插入成功) 3.插入失败的开启对永久节点的监听 4.当时获得锁的线程down机或者删除会触发监听。然后尝试获取CLH第一个线程节点 尝试重新获取锁 代码已上传g
阅读全文
摘要:使用方法 public static void main(String[] args) throws InterruptedException, ExecutionException { ExecutorService executorService = Executors.newFixedThre
阅读全文
摘要:说明 使用方式参考:https://www.cnblogs.com/LQBlog/p/8983019.html 初始化 main public static void main(String[] args) throws InterruptedException { //<1>初始化 CountDo
阅读全文
摘要:说明 使用方式可以参考:https://www.cnblogs.com/LQBlog/p/8983019.html 初始化 main public static void main(String[] args) throws InterruptedException, BrokenBarrierEx
阅读全文
摘要:介绍 使用demo可以参考《Semaphore信号量》 作用:限制并发资源的并发访问数量 获取许可 main public static void main(String[] args) throws InterruptedException { //<c1>只允许10个并发同时处理 Semapho
阅读全文
摘要:说明 我们都知道ArrayList不是线程安全的,在读的时候同时并发在写,在写的时候同时在读,会出现索引越界问题,解决这个问题醉简单的方式在写和读的地方都加上锁。都加上锁的话并发读也会产生互斥 但是为了性能 读的频繁写的时候比较少。我们都会允许读读共享,读写互斥,写写互斥,ReentrantRead
阅读全文