好的,假设我有一个具有线程安全实现的 Java Math 类。线程 A 现在正在执行 SetValue(1),它会导致 Math 类被锁定。如果线程 B 同时尝试使用 GetValue() 访问,会发生什么情况?会不会等到锁释放或者方法请求会直接终止,没有警告或异常?
public class Math {
private static int value = 0;
public synchronized static void setValue(int value) {
Math.value = value;
}
public synchronized static int getValue() {
return value;
}
}