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");
    }
}
相关推荐
fat house cat_8 小时前
【netty】基于主从Reactor多线程模型|如何解决粘包拆包问题|零拷贝
java·服务器·网络·netty
青云交9 小时前
Java 大视界 -- Java 大数据在智能教育学习社区互动模式创新与用户活跃度提升中的应用(426)
java·大数据·学习·flink 实时计算·智能教育社区·互动模式创新·用户活跃度
神奇的海马体9 小时前
Tomcat隐藏版本号
java·tomcat
拜见老天師9 小时前
使用mybatis-plus,实现将排序时,字段值为NULL的数据排在最后
java·mybatis
应茶茶10 小时前
C++11 核心新特性:从语法重构到工程化实践
java·开发语言·c++
Reggie_L10 小时前
RabbitMQ -- 高级特性
java·rabbitmq·java-rabbitmq
lang2015092812 小时前
Spring空安全指南:告别空指针异常
java·安全·spring
学到头秃的suhian12 小时前
Java内存区域
java·jvm
栗子飞啊飞12 小时前
如何实现大模型 “边生成边显示“
java·deepseek