美文网首页
synchronized详解

synchronized详解

作者: justlinzhihe | 来源:发表于2017-10-13 14:57 被阅读0次
  • 第一种,锁在方法上,这种很好理解
  • 第二种,锁变量
图一

关于这个锁我一开始理解的是在执行完synchronized代码块之前,对于this.name的操作是不能进行的,比如this.name.charAt,然而

图二 图三

从结果可知,在锁期间我还是可以对name进行操作,所以正确理解应该是我拿到了name这个对象的锁,在其他用到这个锁的地方才会起作用,比如

图四 图五
  • 第三种,锁对象实例,其实这个和第二种是一样的,因为java里一切皆对象,成员变量也是对象
图六 图七

可以看出第一种方发锁其实锁的就是对象实例

  • 第四种,锁类
图八 图九

可以看出构造器也是属于类锁的范围

总结如下:java中的synchronized其实就是那一个实例当做一把锁,类其实你可以看做一个特殊的对象,因为类定义在整个jvm中只有一份。任何用到这个锁的地方都会被阻塞直到拿到锁。

相关文章

  • 多线程使用之-----synchronized/wait/not

    参考文献: java synchronized详解 synchronized 修饰方法 synchronized ...

  • Java基础-Synchronized详解一

    Java中的Synchronized详解 1.Synchronized简介 Synchronized简称同步锁。 ...

  • java基础----Synchronized、Lock的区别与V

    引用了 Lock与synchronized 的区别 详解synchronized与Lock的区别与使用 Java并...

  • Synchronized 原理详解

    title: synchronized原理详解date: 2019-11-27author:...

  • Day26 Synchronized

    synchronized原理详解synchronized内置锁是一种对象锁(锁的是对象而非引用),作用粒度是对象,...

  • Synchronized 详解

    转载https://www.jianshu.com/p/29854dc7bd86面试题:主线程执行10次,子线程接...

  • synchronized 详解

    问题 那到底使用synchronized关键字是不是就是一个监视器? 不懂,理解的话可以向我发邮件gaomengj...

  • synchronized详解

    第一种,锁在方法上,这种很好理解 第二种,锁变量 关于这个锁我一开始理解的是在执行完synchronized代码块...

  • Synchronized 详解

    synchronized关键字采用对代码块/方法体加锁的方式解决Java中多线程访问同一个资源时,引起的资源冲突问...

  • Synchronized详解

    什么是Synchronized,有什么用? Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保...

网友评论

      本文标题:synchronized详解

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