美文网首页
Synchronized总结

Synchronized总结

作者: _JiangXin | 来源:发表于2019-12-03 17:44 被阅读0次

一些原则

  • 当两个并发线程访问同一个对象object中的这个synchronized(this)代码块或synchronized方法时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。
  • 当一个线程访问object的一个synchronized(this)代码块或synchronized方法时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块和非同步方法。
  • 尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块和同步方法的访问将被阻塞。
  • 以上规则对其它对象锁同样适用.

Synchronized 修饰方法

  • 锁普通方法:锁的是当前对象,所有线程同一时刻只有一个能访问该对象的同步方法和代码块,注意是该对象的所有同步方法和代码块,都锁住了
  • 锁静态方法:整个类都锁住了,所有线程、所有对象同一时刻只有一个能访问该方法

Synchronized 代码块

  • Synchronized(this) : 效果等同于锁普通方法,只是粒度更细了,可以精准控制
  • Synchronized(obj):别的方法锁的是this,我锁obj,我的方法跟别的方法间不会同步,提高运行效率
  • Synchronized(ClassName.class):锁了这个类的所有对象,所有线程的所有对象到这行代码都要等,像锁静态方法,只是粒度更细

相关文章

  • 值得保存的 synchronized 关键字总结(收藏)

    synchronized 关键字的总结 synchronized关键字最主要的三种使用方式的总结 修饰实例方法,作...

  • synchronized总结

    synchronized是Java中的关键字,是一种同步锁。 修饰一个代码块或方法 其作用的范围是大括号{}括起来...

  • Synchronized总结

    java中多线程中的同步机制会对资源进行加锁,保证在同一时间只有一个线程可以操作资源,避免多线程同时访问相同资源发...

  • Synchronized总结

    线程状态分析图 Synchronized的两种用法 对象锁:包括方法锁(默认对象锁为this当前实例对象)和同步代...

  • Synchronized总结

    一些原则 当两个并发线程访问同一个对象object中的这个synchronized(this)代码块或synchr...

  • Synchronized总结

    锁的类型 对象锁 同步代码块锁,所有的实例化对象各自带有一把锁(this)sychronized(this) { ...

  • synchronized总结

    synchronized是java语言中的关键字,可以用来修饰方法和代码块。被synchronized修饰的方法或...

  • Lock和synchronized的选择

    Lock和synchronized的选择 总结来说,Lock和synchronized有以下几点不同: 1)Loc...

  • synchronized初级使用篇

    此篇主要讲解使用synchronized时同步异步问题 抛出总结: 使用synchronized对资源(对象)进行...

  • java多线程之Lock和synchronized有不同

    总结来说,Lock和synchronized有以下几点不同: 1)Lock是一个接口,而synchronized是...

网友评论

      本文标题:Synchronized总结

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