Java——》synchronized的使用

推荐链接:

总结------》【Java】

总结------》【Mysql】

总结------》【Redis】

总结------》【Kafka】

总结------》【Spring】

总结------》【SpringBoot】

总结------》【MyBatis、MyBatis-Plus】

总结------》【Linux】

总结------》【MongoDB】

总结------》【Elasticsearch】

Java------》synchronized的使用

synchronized是互斥锁,锁是基于对象实现的,每个线程基于synchronized绑定的对象去获取锁!

有明确指定锁对象:

  • synchronized(变量名):当前变量做为锁
  • synchroinzed(this):this做为锁

无明确指定锁对象同步方法同步代码块

  • 有static修饰:当前类.class做为锁(类锁
  • 无static修饰:当前对象做为锁(对象锁
java 复制代码
public class MiTest {

    public static void main(String[] args) {
        // 锁的是当前Test.class
        Test.a();

        Test test = new Test();
        // 锁的是new出来的test对象
        test.b();
    }

}

class Test{
    public static synchronized void a(){
        System.out.println("1111");
    }

    public synchronized void b(){
        System.out.println("2222");
    }
}
相关推荐
佳哥的技术分享6 分钟前
Function<T, R> 中 apply,compose, andThen 方法总结
java·学习·r语言
wangmengxxw9 分钟前
SpringAI-结构化输出API
java·人工智能·springai
0和1的舞者10 分钟前
基于Spring的论坛系统-前置知识
java·后端·spring·系统·开发·知识
咕噜企业分发小米11 分钟前
腾讯云和火山引擎在多云管理工具上如何实现成本优化?
java·腾讯云·火山引擎
不平衡的叉叉树14 分钟前
从JDK 1.8到JDK 21:实用新特性
java
鱼跃鹰飞18 分钟前
Leetcode1027:最长等差数列
java·数据结构·算法
2301_7973122634 分钟前
学习Java42天
java·开发语言·学习
chilavert31836 分钟前
技术演进中的开发沉思-325 JVM:java体系技术全貌(下)
java·开发语言·jvm
chilavert31840 分钟前
技术演进中的开发沉思-324 JVM:java技术体系全貌(上)
java·开发语言
pcm1235671 小时前
通信服务前沿知识
java