synchronized 加到 static 方法前面是给class 加锁,即类锁;而synchronized 加到非静态方法前面是给对象上锁。
对象锁和类锁是不同的锁,所以多个线程同时执行这2个不同锁的方法时,是异步的。
类锁对该类的所有对象都能起作用,而对象锁不能。

大白话就是:一个线程执行同步的静态方法后,另一个线程就得等第一个线程执行完这个方法后才能继续执行。但是第二个线程可以异步地去执行非静态方法。

转载于:https://www.cnblogs.com/buptyuhanwen/p/9412711.html

java基础---对象锁和类锁的区别相关推荐

  1. Java并发编程-八锁问题带你彻底理解对象锁和类锁

    八锁问题带你理解对象锁和类锁 8锁问题演示 1.标准访问 2.在邮件方法中暂停4秒,请问先打印邮件还是短信 3.新增普通sayHello方法,请问先打印邮件还是hello 4.两部手机,请问先打印邮件 ...

  2. java线程同步以及对象锁和类锁解析(多线程synchronized关键字)

    一.关于线程安全 1.是什么决定的线程安全问题? 线程安全问题基本是由全局变量及静态变量引起的. 若每个线程中对全局变量.静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的:若有多个线 ...

  3. Java 对象锁和类锁全面解析

    2019独角兽企业重金招聘Python工程师标准>>> 最近工作有用到一些多线程的东西,之前吧,有用到synchronized同步块,不过是别人怎么用就跟着用,并没有搞清楚锁的概念. ...

  4. 【Java 并发编程】线程锁机制 ( 线程安全 | 锁机制 | 类锁 | 对象锁 | 轻量级锁 | 重量级锁 )

    文章目录 一.线程安全 二.锁机制 ( 类锁 | 对象锁 ) 三.锁分类 ( 轻量级锁 | 重量级锁 ) 一.线程安全 多个线程同时访问 同一个共享变量 时 , 只要能保证 数据一致性 , 那么该变量 ...

  5. java同步锁synchronized_Java对象锁和类锁全面解析(多线程synchronized关键字)

    本文主要是将synchronized关键字用法作为例子来去解释Java中的对象锁和类锁.特别的是希望能帮大家理清一些概念. 一.synchronized关键字 synchronized关键字有如下两种 ...

  6. java中存在对多个对象加锁的情况_Java对象锁和类锁全面解析(多线程synchronized关键字)...

    最近工作有用到一些多线程的东西,之前吧,有用到synchronized同步块,不过是别人怎么用就跟着用,并没有搞清楚锁的概念.最近也是遇到一些问题,不搞清楚锁的概念,很容易碰壁,甚至有些时候自己连用没 ...

  7. Java对象锁和类锁全面解析(多线程synchronized关键字)

    最近工作有用到一些多线程的东西,之前吧,有用到synchronized同步块,不过是别人怎么用就跟着用,并没有搞清楚锁的概念.最近也是遇到一些问题,不搞清楚锁的概念,很容易碰壁,甚至有些时候自己连用没 ...

  8. java synchronized 类锁_【java】synchronized对象锁和类锁简介【图文教程】

    平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我. 跟着我从0学习JAVA.spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信 ...

  9. Java锁Synchronized对象锁和类锁区别(搬运)

    java的内置锁:每个java对象都可以用做一个实现同步的锁,这些锁成为内置锁.线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁.获得内置锁的唯一途径就是进入这个锁的保 ...

最新文章

  1. Discuz!X3.1数据库的操作(三)
  2. 有的人在25岁时就死了,但在75岁时才被埋葬:周鸿祎
  3. oracle随机备选数,Oracle查询优化器(一)
  4. 压箱底总结:流系统端到端一致性对比
  5. 优秀项目经理必备的8个要素
  6. C#循环 — break VS continue
  7. component、 filters(过滤器)、computed(计算属性)、$watch(观察属性)、设定计算属性
  8. bind mysql django_Django+bind dlz DNS管理平台
  9. Exec l 中分列的作用
  10. 不在gopath目录下能使用godoc吗_一文搞懂 Go Modules 前世今生及入门使用
  11. 【转】AfxMessageBox、MessageBox、::MessageBox的区别
  12. [Python] 堆叠函数 stack((a,b), axis=0)
  13. 开发安全的ASP.NET应用程序
  14. (day 33 - 位运算 )剑指 Offer 56 - II. 数组中数字出现的次数 II
  15. 分布式系统互斥算法---令牌环算法
  16. 【基础知识】【模块介绍】8位8段数码管(74HC595)【硬件部分】
  17. Shell中的幽灵王者—JAVAWEB 内存马 【认知篇】
  18. 面试软实力:你在工作中遇到过印象深刻的困难是什么,你怎么克服的?
  19. C++游戏game | 井字棋游戏坤坤版(配资源+视频)【赋源码,双人对战】
  20. 程序员的忧桑:有人向你反馈了一个Bug!

热门文章

  1. C++之指针探究(十):this指针
  2. linux抓包库libpcap,linux下libpcap抓包分析.doc
  3. mysql虚拟机授权错误,windows下用navicat链接虚拟机MySQL数据库的过程和问题解决
  4. java跳_用Java实现跳表
  5. leetcode刷题:除自身以外数组的乘积
  6. 无法加载_Microsoft store应用商店无法加载 问题解决
  7. python参数检验框架_python-wtforms框架如何自定义校验器的原理和方法总结
  8. 小程序源码 租房管理系统_租房小程序解决方案
  9. java怎么新建模块_spring boot添加新模块的方法教程
  10. pytorch FC_regression