![](https://img-blog.csdnimg.cn/20210308132653882.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
并发编程
文章平均质量分 91
锁 CAS 多线程 并发编程
plenilune-望月
这个作者很懒,什么都没留下…
展开
-
并发编程(五)并发容器及原理分析
并发容器及原理分析-- 1、KV集合HashMap的实现原理HashMap的数据结构HashMap的存取实现什么是HashMapHashMap是存储Key-Value键值对的集合回忆一下SynchronousQueue在线程池的用途和场景HashMap数据结构tableNode节点数组entrySetHashMap.Node的Set集合sizeHashMap集合中元素的个数modCount标记HashMap修改的次数,每次调用put和clea.原创 2021-03-08 13:24:02 · 296 阅读 · 0 评论 -
并发编程(四)Java锁及应用
Java锁及应用-- 1、乐观锁CAS实现及应用本节目标乐观锁悲观锁的区别Java提供的乐观锁实现为什么需要加锁为了保证多个线程更新一个资源时,防止数据冲突和脏乱,做到线程安全区别 乐观锁 悲观锁 定义 不加锁,但是依据是否有被修改过来判断失败与否 加锁,锁住资源不让其他线程操作,保证只有占有锁的线程去更新资源 区别 .原创 2021-03-08 12:52:55 · 171 阅读 · 0 评论 -
并发编程(三)线程池原理和应用
线程池原理和应用-- 1、线程池的创建和常用参数分析本节目标创建线程池的参数释义线程池状态分析创建线程池参数利用Executors创建一个固定数量的线程池线程池构造函数线程池参数corePoolSize核心线程数,保持在线程池中线程的数量maximumPoolSize线程池允许的最大线程数keepAliveTime/timeUnit线程池中线程空闲不被释放的最大时间,配合timeUnit使用,为0表示永远不被释放。...原创 2021-03-08 12:35:15 · 481 阅读 · 0 评论 -
并发编程(二)Java内存模型及线程实现案例分析
Java内存模型及线程实现案例分析-- 1、Java内存模型了解操作系统CPU的内存模型 了解Java的内存模型 熟悉指令重排和Happens-before为什么讲内存模型了解更深层次内存的使用和读取实现,方便日后分析多线程内存相关问题。 工作中遇到的并发问题,并不好重现,需要对理论知识掌握足够深刻,才能更好分析。操作系统内存模型L1和L2是每个CPU自己的高速缓存L3是多个CPU之间共享的缓存理解:L1办公桌上的文件,L2抽屉里的文件,L3公司内部共享文件..原创 2021-03-08 11:11:44 · 136 阅读 · 0 评论 -
并发编程(一)线程有关的基本概念
一、线程有关的基本概念-- 1、线程安全什么是线程安全?线程安全:一个类被多个线程以任意方式同时调用,且不需要外部额外同步和协同的情况下,仍然保持内部数据正确且表现正确的行为,那么这个类就是线程安全的。线程安全的等级线程对立,线程兼容,有条件的线程安全,线程安全,不可变。(1)不可变类:不可变的对象一定是线程安全的。如:final类修饰的不可变类,String,Integer等;enum枚举类。1、编译javac;反编译jad2、enum底层是一个final类..原创 2021-03-08 10:49:04 · 105 阅读 · 0 评论