gpt4 book ai didi

Java并发,读取文件创建对象并存储

转载 作者:行者123 更新时间:2023-11-29 09:00:31 25 4
gpt4 key购买 nike

我目前正在使用 java.nio 读取文件(使用 Files.readAllLines),然后每一行都被传递来创建一个对象 [new Object (line)] 并将对象添加到集合中。

每个文件的解析方式不同,因此有 3 种类型的对象,其中 2 种被添加到 map 中,应该首先完成它们,因为它们第三次添加到集合中并被添加到前面两个 map 中的变量中[使用类似的东西:

get(var).x.add(Object)].

我真的不明白如何并发编码并且很难找到任何接近这个的东西但我想可以使用并发来创建前两个集合或在所有三个中使用它并最后完成最后一批(如果尚未设置需要编辑的变量,则让它等待并稍后再做)。

如有任何帮助,我们将不胜感激,如果您需要任何关于我正在寻找的内容的说明,请直接提问。

最佳答案

我会使用以下全局步骤同时执行此操作:

  1. 创建一个特定大小的线程池:Executors. newFixedThreadPool(someSize)
  2. 创建三个并发/同步集。每种对象类型一个:Collections.synchronizedSet(new HashSet<YourObjectType>());
  3. 在适当的时候使用线程池处理添加到同步集中的所有文件
  4. 处理完所有文件后,第一个列表/集合具有初始对象,然后遍历包含需要添加到前 2 个集合实例的值的最后一个集合。如果此列表非常大,您可以将其分成几部分并同时执行此操作。

关于Java并发,读取文件创建对象并存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17784151/

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