gpt4 book ai didi

java - 仅从 ConcurrentHashMap 返回值作为对象的函数是否需要同步?

转载 作者:行者123 更新时间:2023-12-02 10:15:29 25 4
gpt4 key购买 nike

我有一个下面的类(class):

Class GameDataHandler {
private final ConcurrentHashMap<Long, GameData> m_lstUpcomingGameData = new ConcurrentHashMap<>();

public GameDataHandler () {
s_instance = this;
}


public static IGameData GetGameDataById(long a_gameId) {
return s_instance.m_lstUpcomingGameData.get(a_gameId);
}
}

就我而言,GetGameDataById() 函数由多个线程调用。我需要在我的方法上添加synchronized吗?

我知道 ConcurrentHashMap 是线程安全的,但我不确定 GetGameDataById() 函数本身。

最佳答案

不,你不需要那个。使其同步会导致只有一个线程可以同时执行该方法,这是没有意义的。

但是您可能需要删除方法 GetGameDataById 的静态修饰符,因为 Map 是非静态的。

关于java - 仅从 ConcurrentHashMap<K,V> 返回值作为对象的函数是否需要同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54712373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com