zoukankan      html  css  js  c++  java
  • about java synchronized

    synchronized如果作用于一个类的普通方法中,那么当使用该类实例化出多个对象,那么每个对象实例的synchronized方法是独立的(相当于没用?)。这种情况下当一个线程获得某个方法的锁时,同 
    个实例中其他同样声明了synchronized的区域会被锁了起来。

    synchronized如果作用于一个类的静态方法中,那么它可以对类的所有实例起到同步访问的作用 。

    也可以使用synchronized(this){}作用于一个代码块,但是它只适合一个明确的对象作为锁(以为this, 即生成的对象实例)。不然的话,只是想让一段代码同步,可以自己定义个一个对象类型(如随便定义一 个数组byte[]),作为被锁对象。如果一个类中使用多个synchronized(this)同步块,那么这就相当于上 面第一段后半段所述的,一个获得锁,其他所有相同的(this)代码块都同步访问。但是如果声明了多个用于同步的实例的话,那么这就相当于不同的代码块之间的同步不受影响。

    我好菜呀
  • 相关阅读:
    IOC注解开发与XML整合
    Spring的IOC注解开发入门2
    Spring的IOC注解开发入门1
    降维学习笔记
    决策树集成学习summary
    python shuffle
    为什么会突然难过
    保存为pickle
    gitlab被屏蔽问题
    selenium-历史(一)
  • 原文地址:https://www.cnblogs.com/LinsenLi/p/9508769.html
Copyright © 2011-2022 走看看