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");
    }
}
相关推荐
timi先生17 分钟前
语料库全栈项目部署 (Vue + Java + CQPweb)
java·前端·vue.js
sunwenjian88636 分钟前
Java进阶--IO流
java·开发语言
客卿1231 小时前
滑动窗口--模板
java·算法
zjjsctcdl1 小时前
java与mysql连接 使用mysql-connector-java连接msql
java·开发语言·mysql
Moe4882 小时前
WebSocket :从浏览器 API 到 Spring 握手、Handler 与前端客户端
java·后端·架构
顶点多余2 小时前
线程互斥+线程同步+生产消费模型
java·linux·开发语言·c++
⑩-2 小时前
Java基础+集合框架-八股文
java·开发语言
Maỿbe2 小时前
你了解synchronized吗
synchronized
福运常在2 小时前
股票数据API(19)次新股池数据
java·python·maven
Zaki_gd2 小时前
Cortex-M7 D-Cache 与 DMA 缓存一致性说明
java·spring·缓存