【问题标题】:How to acess values of a ArrayList on a different threads in a multi-threaded java program如何在多线程 Java 程序中访问不同线程上的 ArrayList 的值
【发布时间】:2018-02-26 20:18:53
【问题描述】:

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

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • @PramodYadav:那没有任何用处。
  • 您可以通过适当的同步来实现这一点。但如果您需要在线程之间进行通信,最好使用与 java.util.concurrent 包不同的数据结构。他们为队列之类的东西提供了专门的集合。
  • 使用队列的示例:How to use ConcurrentLinkedQueue?

标签: java multithreading arraylist collections


【解决方案1】:

【讨论】:

    【解决方案2】:

    尝试使用 Collectionsstatic 方法创建同步的 ArrayList

    下面的arraylist将被同步:

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

    【讨论】:

      猜你喜欢
      • 2016-11-15
      • 2023-04-03
      • 2015-11-03
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      • 1970-01-01
      相关资源
      最近更新 更多