gpt4 book ai didi

java - 数据读取/存储应用程序的正确设计是什么?

转载 作者:行者123 更新时间:2023-12-03 12:57:15 26 4
gpt4 key购买 nike

我需要从网站读取 200,000 条左右的记录并将它们存储在数据库中。该应用程序是在 Netbeans 富客户端平台之上实现的桌面应用程序。通过使用 Apache HttpComponent 库,我可以向网站发送请求并检索包含记录信息的响应;然后使用正则表达式,我可以很容易地从 HTML 中提取我需要的十几个字段。

我想除了 GUI 线程之外还有 2 个工作线程。一个工作线程处理 HTTP 请求/响应部分,还使用正则表达式从 HTML 中提取记录;而另一个工作线程将记录存储到数据库中。因此,将有一个数据结构来保存记录,以便它可以在两个工作线程之间共享。我还在考虑为 HTTP 工作线程存储记录的大小为 100(例如)的缓冲区,当缓冲区已满时,一次将 100 条记录传输到共享记录持有者。

请评论我的设计,我的问题是:

  • 保存记录的正确数据结构是什么?
  • 如何在两个工作线程之间同步它?
  • 多线程如何在 Netbeans 平台的模块化系统中实现?
  • 最佳答案

    what is the proper data structure to hold the records?



    取决于数据。可能是一个带有一堆字段的简单类(最好是 immutable 以使使用多个线程更安全)。

    how to synchronized it between the two worker threads?



    BlockingQueue 之一实现可能对此有好处。 ArrayBlockingQueue可以用作固定大小的缓冲区,用于在线程之间传递工作。

    how would the multi-threads be implemented in the modular system of Netbeans Platform?



    不知道 NetBeans 平台是否对此有任何话要说。启动您自己的线程应该可以工作。

    关于java - 数据读取/存储应用程序的正确设计是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5100316/

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