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");
    }
}
相关推荐
期待のcode12 小时前
线程睡眠sleep方法
java·开发语言
汤姆yu12 小时前
基于springboot的植物花卉销售管理系统
java·spring boot·后端
不想写bug呀13 小时前
RabbitMQ相关问题(1)
java·rabbitmq
海南java第二人13 小时前
Spring Boot Starters深度解析:简化依赖管理的核心利器
java·spring boot·后端
captain37613 小时前
Java-链表
java·开发语言·链表
tqs_1234513 小时前
跳出多层循环的方式
java·开发语言
东方轧线13 小时前
突破锁竞争的性能枷锁:深度剖析 C++ 内存模型与无锁编程在超大规模并行 AI 系统中的极致应用实践
java·c++·人工智能
风清云淡_A13 小时前
【JPA】spring集成jpa实战之数据增删改查入门教程(二)
java
让我上个超影吧13 小时前
天机学堂——播放进度方案优化
java·spring boot·redis·spring cloud
月空MoonSky13 小时前
解决使用Notepad++出现异型字或者繁体字体问题
java·javascript·notepad++