当前位置: 首页 > web >正文

java synchronized关键字用法

文章目录

  • 前置
  • 用法:sync 方法
  • 用法:sync static 方法
  • 用法:sync 同步代码块

前置

synchronized 作用:

它为了解决多线程环境下资源的竞争问题。通过互斥锁机制,确保同一时间只有一个线程可以执行同步的代码

线程对共享变量的修改会立即刷新到主内存中,其他线程可以立即看到最新的值

用法:sync 方法

锁对象:当前实例对象(this)

public class Counter {private int count = 0;// 同步实例方法:锁对象是当前实例(this)public synchronized void increment() {count++;}public int getCount() {return count;}
}

用法:sync static 方法

锁对象:当前类的 Class 对象(如 MyClass.class)

public class StaticCounter {private static int count = 0;// 同步静态方法:锁对象是类的 Class 对象(StaticCounter.class)public static synchronized void increment() {count++;}public static int getCount() {return count;}
}

用法:sync 同步代码块

锁对象:可以灵活指定(如 this、Class 对象或自定义对象)

public class Counter {private int count = 0;// 自定义锁对象private final Object lock = new Object();public void increment() {// 同步代码块:锁对象是 locksynchronized (lock) {count++;}}public int getCount() {return count;}
}
http://www.xdnf.cn/news/10478.html

相关文章:

  • STM32Cubemx-H7-17-麦克纳姆轮驱动
  • 关于神经网络中的梯度和神经网络的反向传播以及梯度与损失的关系
  • 用Python打开不同联类型的文件
  • 【xmb】】内部文档148344599
  • 大数据学习(126)-窗口函数范围
  • 通过WiFi无线连接小米手机摄像头到电脑的方法
  • AI炼丹日志-27 - Anubis 通过 PoW工作量证明的反爬虫组件 上手指南 原理解析
  • Java数值处理常见错误解析
  • java多线程与JUC
  • nt!MiDispatchFault函数分析之nt!MiCompleteProtoPteFault函数的作用
  • sqli-labs靶场32-37关(宽字节注入)
  • 历年苏州大学计算机保研上机真题
  • 语音转文字工具
  • Git 入门学习教程
  • Redis 缓存穿透、缓存击穿、缓存雪崩详解与解决方案
  • Ansible 进阶 - Roles 与 Inventory 的高效组织
  • uni-app学习笔记十八--uni-app static目录简介
  • YOLOv5-入门篇笔记
  • 算法打开13天
  • 焦虑而烦躁的上午
  • HTTPS
  • VeriFree:无需Verifier的通用RL框架
  • 【GPT入门】第40课 vllm与ollama特性对比,与模型部署
  • wsl安装linux
  • 测试总结(二)
  • Python 验证码识别(使用pytesseract库)
  • JVM——JVM运行时数据区的内部机制是怎样的?
  • unix/linux source 命令,在当前的 Shell 会话中读取并执行指定文件中的命令
  • 【AI学习】检索增强生成(Retrieval Augmented Generation,RAG)
  • Vue拖拽组件:vue-draggable-plus