高并发
文章平均质量分 96
芝士君(Java 版)
这个作者很懒,什么都没留下…
展开
-
CAS——比加锁更高效的多线程并发场景下数据一致性解决方案
compare and swap的缩写,中文翻译成比较并交换,实现并发算法时常用到的一种技术。它包含三个操作数–内存位置、预期原值及更新值。执行CAS操作的时候,将内存位置的值与预期原值比较:如果相匹配,那么处理器会自动将该位置值更新为新值如果不匹配,处理器不做任何操作,多个线程同时执行CAS操作只有一个会成功。原创 2024-06-14 09:14:32 · 833 阅读 · 0 评论 -
6.volatile与JMM
由于 volatile 变量只能保证可见性,在不符合以下两条规定的运算场景中,仍需要使用 synchronized 或是 java.util.concurrent 中的锁或者原子类,来保证原子性。内存屏障 : 是一种屏障指令,使得 CPU 或编译器对屏障指令的前和后所发出的内存操作执行一个排序的约束,也称为内存栅栏或栅栏指令。上述 6 条只能保证单条指令的原子性,针对多条指令的组合性原子保证,没有大量加锁,因此,JVM 提供了另外两条原子指令。内存屏障(也称为内存栅栏,屏障指令等)10 个线程并发修改。原创 2024-03-24 23:38:27 · 625 阅读 · 0 评论 -
5. Java内存模型JMM
大厂面试题JMM原创 2024-03-08 17:59:51 · 896 阅读 · 0 评论 -
4. LockSupport与线程中断
运行上述 demo效果效果运行结果案例二正常启动,正常中断效果,中断之前一直执行interupt()源码效果效果效果原创 2024-03-03 20:23:14 · 794 阅读 · 0 评论 -
3. Java中的锁
HotSport 虚拟机中,monitor 采用 ObjectMonitor 实现C++源码执行过程Object 底层实现基于 ObjectMonitor.cpp,所有类默认继承自 Object 类,因此每个对象天生就带着一个 monitor 对象每一个锁住的对象均会与 monitor 进行关联objectMonitor.hpp 中的源码片段_count = 0;//记录该线程获取锁的次数//锁的重入次数//指向持有ObjectMonitor对象的线程。原创 2024-02-26 23:34:35 · 951 阅读 · 0 评论 -
线程基础补充
【代码】线程基础补充。原创 2024-02-05 13:27:57 · 802 阅读 · 0 评论 -
有了Future为什么还要CompletableFuture?
JUC原创 2024-02-04 20:40:56 · 902 阅读 · 0 评论 -
消息队列(RabbitMQ)(入门)
Producter-Consumer:生产者-消费者Broker:接收和分发消息的应用,RabbitMQ Server(RabbitMQ服务器)就是Message Broker(消息实体):出于多租户和安全因素设计的,把 AMQP 的基本组件划分到一个虚拟的分组中,类似于网络中的namespace概念。当多个不同的用户使用同一个RabbitMQ server提供的服务时,可以划分出多个vhost,每个用户在自己的 vhost 创建 exchange/queue 等Connection(连接)原创 2023-09-29 23:57:12 · 167 阅读 · 1 评论