synchronized能控制:同一时刻的请求,只要有get就不能set,只要有set就不能get?

图片说明
当一个线程使用set方法时就锁住了set方法,可是get方法时怎么锁住的?导致其他线程不能使用get方法

synchronized修饰函数就是通过this对象锁定的。所以同一个对象,多个线程就不能同时调用set,get方法

 synchronized void method{}功能上,等效于
void method{
   synchronized(this) {
    ...
   }
}