•1.依靠对象锁锁定

初始化一个对象时,自动有一个 对象锁。

synchronized {普通方法}依靠对象锁工作,多线程访问synchronized方法,一旦某个进程抢得锁之后,其他的进程只有排队对待。

 

synchronized void method{}功能上,等效于:

void method{

   synchronized(this) {

    ...

   }

}

 

 

•2.针对每个类,也有一个锁(作为类的Class对象的一部分),

所以synchronized static方法可以在类范围内防止对static数据的并发访问。

 

synchronized {static方法} 此代码块等效于:

void method{

   synchronized(Obj.class)

   }

}

使用该类的类对象的锁定去做线程的共享互斥

 

 

 

 

java编程思想 p677(p713)

http://www.cnblogs.com/yanghuahui/p/3365922.html#undefined

 

相关文章:

  • 2022-12-23
  • 2021-06-17
  • 2021-12-04
  • 2021-11-25
  • 2021-10-26
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-10
  • 2021-09-02
  • 2021-07-20
  • 2021-09-14
  • 2021-05-26
  • 2021-10-16
相关资源
相似解决方案