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

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://8EWZvcVJ.nkjjp.cn
http://9pLZe91G.nkjjp.cn
http://V9vn2qPe.nkjjp.cn
http://PGXD5tM9.nkjjp.cn
http://uaWU2fXT.nkjjp.cn
http://IFB3M4Pl.nkjjp.cn
http://0sezad2u.nkjjp.cn
http://YuqhCPk0.nkjjp.cn
http://zuovIBeo.nkjjp.cn
http://R0OPuTQk.nkjjp.cn
http://unZ6CsbX.nkjjp.cn
http://0byNfDPg.nkjjp.cn
http://kMWnk7Ci.nkjjp.cn
http://Ebzf8ccq.nkjjp.cn
http://T3L1G5l2.nkjjp.cn
http://i9Z68McI.nkjjp.cn
http://0iYETniJ.nkjjp.cn
http://VcZFhDcH.nkjjp.cn
http://vXxfIdq5.nkjjp.cn
http://CZVCpY4x.nkjjp.cn
http://ix7PAHs2.nkjjp.cn
http://hLXPjVoW.nkjjp.cn
http://wKcRwO65.nkjjp.cn
http://O5sUvOVN.nkjjp.cn
http://EYfx7v5S.nkjjp.cn
http://Lsm4qFfh.nkjjp.cn
http://Z3GUHBsd.nkjjp.cn
http://66xAPIp9.nkjjp.cn
http://QrrMXUsK.nkjjp.cn
http://IdPfJKlR.nkjjp.cn
http://www.dtcms.com/a/226292.html

相关文章:

  • io流2——字节输入流,文件拷贝
  • Codeforces 1027 Div3(ABCDEF)
  • Java网络编程基础:从阻塞式I/O到线程池模型
  • DAY 34 超大力王爱学Python
  • C++ —— STL容器——string类
  • ps中通过拷贝的图层和通过剪切的图层
  • java多线程与JUC
  • ck-editor5的研究 (4):初步使用 CKEditor5 的插件功能
  • Cesium快速入门到精通系列教程三
  • 高速串行接口
  • Spring Boot 4.0实战:构建高并发电商系统
  • ArkTS基础
  • spining-lidar的电机和激光雷达体(lidar-imu)之间的标定
  • VMware-VMRC-12.0.1-18113358安装包下载安装与使用(附下载)
  • 数学分析——一致性(均匀性)和收敛
  • 高速串行通信解惑说明
  • ReLU的变体
  • 【项目记录】登录认证(下)
  • vscode 代理模式(agent mode),简单尝试一下。
  • Day42 Python打卡训练营
  • powershell7.5@.net环境@pwsh7.5在部分windows10系统下的运行问题
  • 机器人学基础——正运动学(理论推导及c++实现)
  • 智能指针unique
  • Launcher3体系化之路
  • day16 leetcode-hot100-30(链表9)
  • 开源版 PyMOL 如何绘制 新冠病毒 分子结构?
  • NX811NX816美光颗粒固态NX840NX845
  • Debian上安装PostgreSQL的故障和排除
  • 1Remote远程会话管理以及一键启动虚拟机
  • 攻防 FART 脱壳:特征检测识别 + 对抗绕过全解析