求教个关于java的问题

这题为什么选ACE,求教,谢谢
2025-04-25 08:39:57
推荐回答(4个)
回答1:

因为此类非单例,多线程调用可能会导致全局变量不正确,所以需要对类中的变量进行同步控制。此题2个全局变量(name、count)、一个构造器和4个方法,仔细看会发现4个方法没有一个会改变name的值,但能改变了count的值,防止多个线程同时调用一个方法导致全局变量值不统一,所以需要在读取、修改count值的地方加上synchronized关键字,达到同步效果。

回答2:

注意,ACE的答案都是设置值的,BC都是取值的

回答3:

这是一个java同步问题,ACE三个方法是相互有影响的,执行其中一个的时候另外两个要等其执行完才能执行

回答4:

个人认为常量的值是在对象实例化的时候构造好的,不会再改了,不存在线程问题。