如何在多线程java程序中访问不同线程上的ArrayList值

如何在多线程java程序中访问不同线程上的ArrayList值,java,multithreading,arraylist,collections,Java,Multithreading,Arraylist,Collections,我的疑问是,是否有任何选项可以在Arraylist中获取值,该值由第一个线程添加,从第二个线程添加,依此类推。 每个线程都将修改列表,更新后的列表需要对所有线程可用 任何帮助都将不胜感激 谢谢您可以使用尝试使用集合类静态方法创建同步的阵列列表 将同步以下arraylist: List<String> synArraylist = Collections.synchronizedList(new ArrayList<String>()); List-synaraylist

我的疑问是,是否有任何选项可以在
Arraylist
中获取值,该值由第一个线程添加,从第二个线程添加,依此类推。 每个线程都将修改列表,更新后的列表需要对所有线程可用

任何帮助都将不胜感激


谢谢

您可以使用

尝试使用集合静态方法创建同步的阵列列表

将同步以下arraylist:

List<String> synArraylist = Collections.synchronizedList(new ArrayList<String>());
List-synaraylist=Collections.synchronizedList(new-ArrayList());

@PramodYadav:那没什么用处。你可以通过适当的同步来实现这一点。但是,如果需要在线程之间进行通信,那么最好使用与
java.util.concurrent
包不同的数据结构。他们对队列之类的东西进行了特殊的集合。使用队列的示例如下: