java 的锁?

一、类锁 与 对象锁

类锁:任何时候都有效

  • 在方法上加上static synchronized的锁
  • synchronized(xxx.class)的锁

对象锁:只有在单例(操作同一个对象)的时候才会有效

  • 在方法上加上synchronized的锁(区别与加上static synchronized)
  • synchronized(this)
  • synchronized(任意对象)

注意:同一个类产生的对象锁和类锁互不冲突,不会同步

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本概念: 锁:控制多线程并发访问资源;队列同步器:管理同步状态,实现锁;同步状态:同步器的操作对象,int类型;...
    红袖者阅读 258评论 0 0
  • 在我们一个多线程程序中,同步是实现对一个方法或者模块进行独占式访问的方法,那么如何进行同步的操作呢?首先我们就会想...
    夜玉龙阅读 401评论 0 5
  • 重入锁简单理解就是对同一个线程而言,它可以重复的获取锁。例如这个线程可以连续获取两次锁,但是释放锁的次数也一定要是...
    kopshome阅读 435评论 0 2
  • 1.1 锁的内存语义 锁可以让临界区互斥执行,还可以让释放锁的线程向同一个锁的线程发送消息锁的释放要遵循Happe...
    凯玲之恋阅读 193评论 0 0
  • 世间所有的关系都会变得熟悉,最终变成理所当然,礼物最强大的力量在于,能够将那熟悉和理所当然的关系,重新变得让人心动...
    deedee阅读 931评论 0 4