Java:synchronized关键字

来自WHY42
imported>Soleverlee2016年4月19日 (二) 08:07的版本 (以“synchronized关键字: #synchronized用在本地方法时,是取当前对象的示例,等同于synchronized(this) #synchronized锁可重入,即同步方法...”为内容创建页面)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

synchronized关键字:

  1. synchronized用在本地方法时,是取当前对象的示例,等同于synchronized(this)
  2. synchronized锁可重入,即同步方法内可以进入其他同步块
  3. synchronized作用在静态方法时,是取当前Java文件的class对象锁,等同于synchronized(this.class)
class A{
	synchronized void methodA(){
		//...
	}
	
	void methodB(){
		synchronized(this){
			//...
		}
	}
	
	synchronized static void methodC(){
		//...	
	}
	
	void methodD(){
		synchronized(A.class){
			//...
		}
	}
}