蘇阿細
首页 统计 关于
1 Sealos3.0离线部署K8s集群 1,086 阅读 2 类的加载 742 阅读 3 Spring Cloud OAuth2.0 726 阅读 4 SpringBoot自动装配原理 691 阅读 5 集合不安全问题 587 阅读
笔记
Java
多线程 注解和反射 JVM JUC 设计模式 Mybatis Spring SpringMVC SpringBoot MyBatis-Plus Elastic Search
微服务
Dubbo Zookeeper SpringCloud Nacos Sentinel
数据库
MySQL Oracle PostgreSQL Redis MongoDB
工作流
Activiti7 Camunda
消息队列
RabbitMQ
前端
HTML5 CSS CSS3 JavaScript jQuery Vue2 Vue3
Linux
容器
Docker Kubernetes
Python
FastApi
登录
标签搜索
  • Java
  • CSS
  • mysql
  • RabbitMQ
  • JavaScript
  • Redis
  • JVM
  • Mybatis-Plus
  • Camunda
  • 多线程
  • CSS3
  • Python
  • Spring Cloud
  • 注解和反射
  • Activiti
  • 工作流
  • SpringBoot
  • Mybatis
  • Spring
  • html5
侧边栏壁纸
博主昵称
蘇阿細

  • 累计撰写 389 篇文章
  • 累计收到 4 条评论
  • 首页
  • 栏目
    • 笔记
    • Java
      • 多线程
      • 注解和反射
      • JVM
      • JUC
      • 设计模式
      • Mybatis
      • Spring
      • SpringMVC
      • SpringBoot
      • MyBatis-Plus
      • Elastic Search
    • 微服务
      • Dubbo
      • Zookeeper
      • SpringCloud
      • Nacos
      • Sentinel
    • 数据库
      • MySQL
      • Oracle
      • PostgreSQL
      • Redis
      • MongoDB
    • 工作流
      • Activiti7
      • Camunda
    • 消息队列
      • RabbitMQ
    • 前端
      • HTML5
      • CSS
      • CSS3
      • JavaScript
      • jQuery
      • Vue2
      • Vue3
    • Linux
    • 容器
      • Docker
      • Kubernetes
    • Python
      • FastApi
  • 页面
    • 统计
    • 关于
搜索到 1 篇与 的结果
  • CompareAndSet(CAS) 2021-02-21
    CompareAndSet(CAS) CompareAndSet(CAS)CASCAS:比较并交换package com.sw.cas; import java.util.concurrent.atomic.AtomicInteger; /** * @Author suaxi * @Date 2021/2/21 20:58 * CAS:比较并交换 */ public class casTest { public static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInteger(2021); //如果达到期望的值,就更新,否则反之 System.out.println(atomicInteger.compareAndSet(2021,666)); //true System.out.println(atomicInteger.get()); //666 } } Unsafe图片来源:狂神说Java缺点:1、循环会耗时2、一次循环只能保证一个共享变量的原子性3、ABA问题ABA问题package com.sw.cas; import java.util.concurrent.atomic.AtomicInteger; /** * @Author suaxi * @Date 2021/2/21 20:58 * CAS:比较并交换 */ public class casTest { public static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInteger(2021); //如果达到期望的值,就更新,否则反之 //捣乱的线程 System.out.println(atomicInteger.compareAndSet(2021,666)); //true System.out.println(atomicInteger.get()); //666 System.out.println(atomicInteger.compareAndSet(666,2021)); System.out.println(atomicInteger.get()); //期望的线程 System.out.println(atomicInteger.compareAndSet(2021, 888)); System.out.println(atomicInteger.get()); } }
    • 2021年02月21日
    • 103 阅读
    • 0 评论
    • 0 点赞
博主栏壁纸
博主头像 蘇阿細

389 文章数
4 评论量
标签
舔狗日记
2019 - 2025 © suaxi
已运行 00 天
访问量:311540  加载时间:34ms