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");
    }
}
相关推荐
正在努力Coding4 小时前
SpringAI - 工具调用
java·spring·ai
我尽力学5 小时前
面试 总结
java·spring boot·面试
爬台阶的蚂蚁5 小时前
Spring AI Alibaba基础概念
java·spring·ai
计算机学姐5 小时前
基于SpringBoot的演唱会抢票系统
java·spring boot·后端·spring·tomcat·intellij-idea·推荐算法
huohuopro5 小时前
Mybatis的七种传参方式
java·开发语言·mybatis
Lee_SmallNorth5 小时前
变态需求之【角色不同访问数据库的用户不同】
java·开发语言·数据库
扶苏-su5 小时前
Java网络编程:InetAddress 详解
java·开发语言·网络
Anastasiozzzz5 小时前
leetcode力扣hot100困难题--4.俩个正序数列的中位数
java·算法·leetcode·面试·职场和发展
木风小助理5 小时前
JavaStreamAPI的性能审视,优雅语法背后的隐形成本与优化实践
java·前端·数据库
Chan166 小时前
《Java并发编程的艺术》| ConcurrentHashMap 在 JDK 1.7 与 1.8 的底层实现
java·spring boot·java-ee·intellij-idea·juc