Java中的并发监视器和同步关键字
所以我在理解Java监视器和synchronized关键字之间的区别时遇到了问题
在Java中,每个类基本上都是一个监视器。宣布它为
monitor BankAccount{
double balance;
public void withdraw(){}
public void deposit(){}
}
这个类的每个方法都是同步的还是我需要指定关键字
你可以在下面搜索框中键入要查询的问题!
所以我在理解Java监视器和synchronized关键字之间的区别时遇到了问题
在Java中,每个类基本上都是一个监视器。宣布它为
monitor BankAccount{
double balance;
public void withdraw(){}
public void deposit(){}
}
这个类的每个方法都是同步的还是我需要指定关键字
# 1 楼答案
monitor
不是关键字。默认情况下不同步任何内容。您需要方法上的synchronized
关键字来同步它(或者显式地使用其他一些锁定机制,但它不会自动发生)# 2 楼答案
监视器可以与Java中的每个对象实例相关联。这包括
Class
对象。但是,没有关键字monitor
。当对声明为synchronized
的对象调用方法或使用显式synchronized
块时,监视器将同步。静态方法在与代表类类型的Class
对象关联的监视器上同步