我有一个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是不可变的(在对象初始化后其属性将永远不会改变)。如果是这样,那么您根本就不需要同步。

10-04 17:00