当前位置: 首页 > news >正文

八股文实战之JUC:静态方法的锁和普通方法的锁

1、对于staic同步方法锁住的是class类模板(Class对象)  对象是线程(调用者)  调用者只有获取资源的锁才能调用
2、普通同步方法 锁住的资源是class对象   对象是线程(调用者)

即:

  • 静态同步方法

    • 锁住的是类的 Class 对象。
    • 这意味着同一个类的所有静态同步方法之间是互斥的,不论是哪个实例调用这些方法。
  • 普通同步方法

    • 锁住的是调用该方法的实例对象。
    • 不同的实例可以并行执行它们的普通同步方法,因为它们各自锁住的是自己的对象。

1、锁住的东西不同可以视作不同的锁 

2、进程只有获取锁 才能访问锁对应的方法等资源

3、如果锁不同 就不存在锁竞争

package com.example.mp.juc.lock8;

import java.util.concurrent.TimeUnit;

/**
 * @author Mr.Lan
 * @version 1.0
 * @ClassName Test1$
 * @description
 * @date 2025/2/22 20:46
 **/
public class Test1 {

    /*1、对于staic同步方法锁住的是class类模板(Class对象)  对象是线程(调用者)  调用者只有获取资源的锁才能调用
    * 2、普通同步方法 锁住的资源是class对象   对象是线程(调用者)  * */
    public static void main(String[] args) throws InterruptedException {
        Phone4 phone4 = new Phone4();
        Phone4 phone5 = new Phone4();
        new Thread(()->{phone4.sendSms();}).start();
        TimeUnit.SECONDS.sleep(1);
        new Thread(()->{phone4.call();}).start();
    }
}
class Phone4{

    Phone4(){
    }
    public static synchronized void sendSms(){
        try {
            TimeUnit.SECONDS.sleep(4);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        System.out.println("发短信");
    }

    public  synchronized void call(){
        System.out.println("打电话");
    }




}

相关文章:

  • 进程间通信中间件---ZeroMQ
  • Verilog define预处理命令
  • AI 大模型:点亮乡村振兴的新曙光
  • AWS S3深度解析:十大核心应用场景与高可用架构设计实践
  • sh脚本把服务器B,服务器C目录的文件下载到服务器A目录,添加开机自启动并且一小时执行一次脚本
  • 蓝桥与力扣刷题(蓝桥 交换瓶子)
  • ctfshow——phps源码泄露
  • Java APM如何Profiling:使用火焰图多维度分析应用性能瓶颈
  • Java Idea配置问题
  • 【多语言生态篇三】【DeepSeek×Go:高并发推理服务设计】
  • 2502C++,C++继承的多态性
  • 【误差理论与可靠性】第二章 可靠性的基本概念和参数体系
  • 25林业研究生复试面试问题汇总 林业专业知识问题很全! 林业复试全流程攻略 林业考研复试真题汇总
  • 【JavaWeb12】数据交换与异步请求:JSON与Ajax的绝妙搭配是否塑造了Web的交互革命?
  • 京东外卖骑手全部缴纳五险一金
  • 1.vue使用vite构建初始化项目
  • C/C++ 中 volatile 关键字详解
  • 用C++实现一个简单的算法:快速排序(QuickSort)
  • 本周行情——250222
  • 使用 DeepSeek 和 ECharts 实现大屏数据可视化
  • 国税总局上海市税务局回应刘晓庆被举报涉嫌偷漏税:正依法依规办理
  • 普京召开俄乌谈判筹备会议,拉夫罗夫、绍伊古等出席
  • 全国人大常委会今年将初次审议检察公益诉讼法
  • 前四个月人民币贷款增加10.06万亿元,4月末M2余额同比增长8%
  • 前四个月社会融资规模增量累计为16.34万亿元,比上年同期多3.61万亿元
  • 首个偏头痛急性治疗药物可缓解前期症状