如何正确同步多个线程正在访问的列表?

问题描述 投票:1回答:1

我有一个列表,该列表每20毫秒在一个线程上更新一次,每16毫秒在另一个线程上读取一次。我听说在这种情况下,通常最好使用同步列表而不是copyonwritearraylist,对吗?

我应该将此列表最初初始化为

List<Object> list = Collections.synchronizedList(new ArrayList<Object>());

或者我应该将其作为常规列表,然后每当我想使用诸如此类的方法从中进行读取时>

public List<Object> synList(ArrayList<Object> list) {
    return Collections.synchronizedList(list);
}

抱歉,这很琐碎,我真的不确定。非常感谢

我有一个列表,该列表每20毫秒在一个线程上更新一次,每16毫秒在另一个线程上读取一次。我听说在这种情况下,通常最好使用同步列表...

java list arraylist thread-safety synchronized
1个回答
2
投票

我有一个列表,该列表每20毫秒在一个线程上更新一次,每16毫秒在另一个线程上读取一次。我听说在这种情况下,通常最好使用同步列表而不是copyonwritearraylist,对吗?

© www.soinside.com 2019 - 2024. All rights reserved.