基础(多线程、锁、集合)
文章平均质量分 78
基础(多线程、锁、集合)
墨xiao渊
这个作者很懒,什么都没留下…
展开
-
HashMap
HashMap<k,v>put进去的内容是到了Node<k,v>中hashMap是数组+链表+红黑树结构数组是:kv键值对作为载体的Node数组后续补充一下红黑树的知识原创 2021-08-13 14:36:33 · 60 阅读 · 0 评论 -
集合类不安全的问题
1. ArrayList1.1 介绍1.2 ArrayList线程不安全的DEMO1.2.1 故障现象1.2.2 导致原因1.2.3 解决方案1.2.4 优化建议JUC中CopyOnWriteArrayList解决问题的原理2 Set2.1 HashSet线程不安全2.2 CopyOnWriteArraySet介绍2.1.1 CopyOnWriteArraySet源码解析原创 2021-08-02 18:25:16 · 177 阅读 · 0 评论 -
锁(公平锁、非公平锁、可重入锁、递归锁、自旋锁、互斥锁)
目录1. 公平锁,非公平锁1.1 概念1.1.1 公平锁1.1.2 非公平锁1.2 公平锁和非公平锁两者区别1.2.1 公平锁1.2.2 非公平锁1.3 源码2 可重入锁(又称递归锁)2.1 概念2.2 作用2.3 DEMO-synchronized是可重入锁的验证2.4 DEMO-ReentrantLock是可重入锁的验证2.4.1重复加锁是否会造成异常?3. 自旋锁3.1 概念3.2 DEMO-自旋锁4 独占锁(写锁)、共享锁.原创 2021-08-03 23:13:15 · 864 阅读 · 0 评论 -
LockSupport
1 是什么2 线程等待唤醒机制(wait/notify)2.1 3种让线程等待和唤醒的方法1.使用Object中的wait()方法让线程等待,使用Object中的notify()方法唤醒线程2.使用JUC保重的Condition的await方法让线程等待2.2 Object类中的wait和notify方法实现线程等待和唤醒2.2.1 DEMO-wait/notify最原始的案例public class LockSupportDemo { stati...原创 2021-08-12 21:48:35 · 97 阅读 · 0 评论 -
AQS(抽象的队列同步器)
前提了解:公平锁和非公平锁可重入锁LockSupport自旋锁数据结构之链表设计模式之模板设计模式 1 是什么抽象的队列同步器队列:单/双列表, ArrayList就是链表结构是用来构建锁或者其他同步器组件(一系列根据锁相关的组件)的重量级基础框架及整个JUC体系的基石,通过内置的FIFO队列来完成资源获取线程的排队工作,并通过一个int类型变量表示持有锁的状态。JUC中有几个AQS缩写的相关内容,长得很相似,通常聊的AQS是指Abstract...原创 2021-08-13 22:09:31 · 335 阅读 · 0 评论 -
死锁编码及定位分析
死锁代码class HoldLockThread implements Runnable { private String lockA; private String lockB; public HoldLockThread(String lockA, String lockB) { this.lockA = lockA; this.lockB = lockB; } @Override public...原创 2021-08-08 21:32:11 · 78 阅读 · 0 评论 -
对线程池的理解
1 为什么要有线程池,优势1.1 线程池工作内容控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行。1.2 特点:线程服用,控制最大并发数,管理线程.降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度,当任务到达时,任务可以不需要等到线程创建就能立即执行。 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统原创 2021-08-08 21:33:05 · 550 阅读 · 0 评论 -
Runnable和Callable区别
1Runnable和Callable区别Runnable Callable 没有返回值 有返回值 没有异常 有异常 1.1 Runnableclass MyThread implements Runnable { @Override public void run() { }}1.2 Callableclass MyThread2 implements Callable<Integer> { @Overr...原创 2021-08-07 14:39:11 · 152 阅读 · 0 评论