java并发编程
文章平均质量分 87
抬头文
这个作者很懒,什么都没留下…
展开
-
cas原理以及Atomic原子类分析
一、什么是CAS CAS:Compare and Swap,即比较再交换。 CAS 的思想很简单:三个参数,一个当前内存值 V、旧的预期值 A、即将更新的值 B,当且仅当预期值 A 和内存值 V 相同时,将内存值修改为 B 并返回 true,否则什么都不做,并返回 false。 上面那段话来源于官方解析 Atomic原子类底层核心就是CAS,无锁化,乐观锁,每次尝试修改的时候,就对比一下,有没有人修改过这个值,没有人修改,自己就修改,如果有人修改过,就重新查出来最新的值,再次重复那个过程 二、原创 2021-08-29 22:04:27 · 414 阅读 · 5 评论 -
常用线程池的工作原理和使用场景
1.1 为何需要使用线程池 线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。说白了就是为了避免频繁创建和销毁线程带来的巨大开销。 比如说,线程池里面比如说固定就是100个线程,后面的人过来了就是从线程池里获取线程来工作,线程干完活儿了,别销毁,直接还到线程池里去,避免频繁的创建和销毁线程,会导致系统的运行效率很...原创 2020-02-12 16:01:39 · 925 阅读 · 0 评论 -
Java内存模型以及Volatile关键字深度剖析
Java内存模型 Java内存模型应该说成Java线程内存模型,同CPU缓存模型类似,是基于CPU缓存模型来建立的,Java线程内存模型是标准化的屏蔽掉了底层计算机的区别。 如上图所示每一个线程对应一个工作内存,相当于cpu的高速缓存,从主内存中获取共享变量,并存贮一份共享变量副本,而每个线程的共享变量副本都是相对独立的,那么当我们写多线程程序的时候,当不了解Java线程内存模型的时候,并...原创 2020-01-28 20:31:54 · 167 阅读 · 1 评论 -
CPU多级缓存-多核并发缓存架构解析
CPU多级缓存 主内存(RAM):也就是所谓的内存条,一般当数据写入电脑磁盘的时候需要先写入主内存,然后再写入磁盘。 系统主线:连接系统cpu和主内存的系统主线,就比如台式电脑连接主板上连接cpu和内存条的主线。 如下图所示最简单的高速缓存的配置,数据的读取和存储都经过高速缓存,CPU核心与高速缓存有一条特殊的快速通道;主存和高速缓存都连在系统总线上,这条总线还用于其他组件的通信。 高速缓...原创 2020-01-27 21:27:27 · 1322 阅读 · 1 评论