我有一个Firm对象的列表。
每个对象都具有很少的属性,这些属性在对象初始化后就不会改变。属性之一是保存用户对象的列表,该对象可能随着时间的推移而增长或收缩。
我想让每个Firm对象知道它有多少个User对象。
所以我的问题是我应该这样吗
List<Firm> firmsList = getFirmsList();
for(int i=0; i<firmsList.size(); i++)
{
Firm firm = firmsList.get(i);
synchronized(firm)
{
int usersCount = firm.getUsers().size();
}
}
还是我也应该同步User对象? (当前,仅在Firm对象中访问User对象的列表)
最佳答案
您说Firm
是不可变的(在对象初始化后其属性将永远不会改变)。如果是这样,那么您根本就不需要同步。