上一页 1 2 3 4 5 6 ··· 15 下一页
摘要: 【Beautiful JUC Part.10】AQS 并发灵魂人物 一、为什么需要AQS? 二、Semaphore和AQS的关系 CountDownLatch和ReentrantLock也是一样的。 三、AQS的认识 1、AQS的比喻 比喻:群面、单面 安排就坐、叫号、先来后到等HR的工作就是AQS 阅读全文
posted @ 2022-02-12 20:11 DarkerG 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 【Beautiful JUC Part.9】控制并发流程 线程间的协调人 一、什么是控制并发流程? 控制能发流程的工具类,作用就是帮助我们程序员更容易得让线程之间合作。 让线程之间相互配合,来满足业务逻辑 比如让线程A等待线程B执行完毕后再执行等合作策略 二、CountDownLatch倒计时门闩 阅读全文
posted @ 2022-02-12 16:41 DarkerG 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 【Beautiful JUC Part.8】ConcurrentHashMap等并发集合 并发容器概览、集合类的历史、ConcurrentHashMap(重点、面试常考) CopyOnWriteArrayList、并发队列Queue(阻塞队列、非阻塞队列) 一、并发容器的概览 ConcurrentH 阅读全文
posted @ 2022-02-10 13:37 DarkerG 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 【Beautiful JUC Part.7】fina关键字和不变性 一、什么是不变性(Immutable) 如果对象在被创建后,状态就不能被修改,那么它就是不可变的 例如:person对象,age和name都不能再变。但是如果person对象还有其他非final的属性,就是可变的对象。 具有不变性的 阅读全文
posted @ 2022-02-10 10:02 DarkerG 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 【Beautiful JUC Part.6】CAS 不可中断的典范 一、什么是CAS 运用场合:并发场景,实现不能被打断的交换操作 主要思路: 我认为V的值应该是A,如果是的话那我就把它改成B,如果不是A(说明被别人修改过了),那我就不修改了,避免多人同时修改导致出错。 CAS有三个操作数: 内存值 阅读全文
posted @ 2022-02-09 23:13 DarkerG 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 【Beautiful JUC Part.5】atomic包 一刻也不能分割 一、什么是原子类 不可分割 一个操作是不可中断的,即便是多线程的情况下也可以保证 java.util.concurrent.atomic 原子类的作用和锁类似,是为了保证并发情况下线程安全。不过原子类相比于锁,有一定的优势。 阅读全文
posted @ 2022-02-09 22:43 DarkerG 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 【Beautiful JUC Part.4】不可不说的“锁”事 Lock接口 锁的分类 乐观锁和悲观锁 可重入锁和非可重入锁,以ReentrantLock为例(重点) 公平锁和非公平锁 共享锁和排它锁:以ReentrantReadWriteLock读写锁为例(重点) 自旋锁和阻塞锁 可中断锁:顾名思 阅读全文
posted @ 2022-02-08 20:20 DarkerG 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 【Beautiful JUC Part.3】ThreadLocal详解 一、两大使用场景——ThreadLocal的用途 1、典型场景1 每个线程需要一个独享的对象(通常是工具类,典型需要使用的类有SimpleDateFormat和Random),比如说后端返回给前端结果的封装工具类。 每个Thre 阅读全文
posted @ 2022-02-07 16:41 DarkerG 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 【Beautiful JUC Part.2】线程池 治理线程的最大法宝 一、线程池的重要性 1、什么是池 如果不使用线程池,每个任务都新开一个线程处理 一个线程,直接创建 当10个线程时候,for循环创建线程 当任务数量上升到1000 这样开销太大,我们希望有固定的数量的线程,来执行这1000个线程 阅读全文
posted @ 2022-02-06 23:27 DarkerG 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 【Beautiful JUC Part.1】建立起Java并发体系的大厦 思维导图地址 https://darkerg.lanzout.com/iNtK0zmosmb 密码:91bb 一、并发工具类的分类 为了并发安全:互斥同步、非互斥同步、无同步方案 管理线程、提高效率 线程协作 二、为了线程安全 阅读全文
posted @ 2022-02-05 18:51 DarkerG 阅读(38) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 15 下一页