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");
    }
}
相关推荐
短剑重铸之日1 小时前
7天读懂MySQL|Day 5:执行引擎与SQL优化
java·数据库·sql·mysql·架构
酒九鸠玖1 小时前
Java--多线程
java
Dreamboat-L1 小时前
云服务器上部署nginx
java·服务器·nginx
长安er2 小时前
LeetCode215/347/295 堆相关理论与题目
java·数据结构·算法·leetcode·
cici158742 小时前
C#实现三菱PLC通信
java·网络·c#
k***92164 小时前
【C++】继承和多态扩展学习
java·c++·学习
weixin_440730504 小时前
java结构语句学习
java·开发语言·学习
JIngJaneIL4 小时前
基于java+ vue医院管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
Coder_Boy_4 小时前
Spring AI 源码大白话解析
java·人工智能·spring
仙俊红4 小时前
在 Java 中,`==` 和 `equals()` 的区别
java·开发语言·jvm