美文网首页
java对象锁和类

java对象锁和类

作者: 破晓11 | 来源:发表于2018-05-04 15:28 被阅读0次

synchronized修饰非静态方法,同步代码快的synchronized (this)用法和synchronized (非this)的用法锁的是对象,线程想要执行对应同步代码,需要获得对象锁

synchronized修饰静态方法以及同步代码块的synchronized (类.class)用法锁的是类,线程想要执行对应同步代码,需要获得类锁。

两个线程访问同一个对象中的同步方法一定是线程安全的,两个线程竞争同一对象锁,出现同步

一个类里面有两个非静态同步方法,如果对象实例A,线程1获得了对象A的对象锁,那么其他线程就不能进入需要获得对象实例A的对象锁才能访问的同步代码

静态方法一定会同步,非静态的必须在单例模式下才生效,但是也不能都用静态同步方法,总之用的不好,会给性能带来极大的影响。

相关文章

  • 让你不再害怕JAVA的锁(一)

    java中的同步锁包括对象锁和类锁。 对象锁: 针对的是具体的对象实例;类锁:针对的是整个class类 现在先让我...

  • Java对象锁和类锁

    java的对象锁和类锁:java的对象锁和类锁在锁的概念上基本上和内置锁是一致的,但是,两个锁实际是有很大的区别的...

  • java类锁和对象锁

    java对象锁有两种:对象锁、类锁。 对象锁:在非静态方法上加锁。声明了一个对象锁。类锁:在静态方法上加锁,声明了...

  • MySQL的锁怎么解?

    大家都知道java里面的synchronized,对象锁。(这里不扯什么类锁,对象锁,类锁其实就是Class对象的...

  • 线程、多线程和线程池 二

    1.对象锁和类锁是否会互相影响? · 对象锁:Java的所有对象都含有1个互斥锁,这个锁由JVM自动...

  • 多线程开发艺术之对象锁和类锁

    一.对象锁和类锁是否会互相影响? ·对象锁:Java的所有对象都含有1个互斥锁,这个锁由JVM自动获取和释放。线程...

  • java-summery

    1、对象锁和类锁 java的内置锁:每个java对象都可以用做一个实现同步的锁,这些锁成为内置锁。线程进入同步代码...

  • java对象锁和类

    synchronized修饰非静态方法,同步代码快的synchronized (this)用法和synchroni...

  • 高并发篇

    高并发篇 java锁有那些 synchronized和lock的区别 synchronized的类锁和对象锁的区别...

  • synchronized

    类锁和对象锁

网友评论

      本文标题:java对象锁和类

      本文链接:https://www.haomeiwen.com/subject/tfvdrftx.html