Java多线程场景

Java多线程场景,java,multithreading,Java,Multithreading,我有一个Java类,其中有一个方法可以读取数千条与产品相关的记录。现在,对于相同的ProductId,我需要创建一个产品(产品bean)列表,并将它们发送到另一个类中的方法进行验证。以加快过程 我想产生多个线程-每个线程负责将每个产品id的产品列表发送到validate()进行验证。同样,在验证之后,需要在调用类中调用另一个方法进行进一步处理。我知道Java中的Exceutor框架,并有一些相关信息。问题是,为此设计多线程解决方案是否可行?请给出建议 示例: Class A{ List<

我有一个Java类,其中有一个方法可以读取数千条与产品相关的记录。现在,对于相同的
ProductId
,我需要创建一个
产品(产品bean)
列表,并将它们发送到另一个类中的方法进行验证。以加快过程

我想产生多个线程-每个线程负责将每个产品id的产品列表发送到
validate()
进行验证。同样,在验证之后,需要在调用类中调用另一个方法进行进一步处理。我知道Java中的Exceutor框架,并有一些相关信息。问题是,为此设计多线程解决方案是否可行?请给出建议

示例:

Class A{
 List<Product> prodList;-- this prod List is populated with productBeans with same prodId.

Class B = new Class B();
B.validate(prodList);
processNextStep();
A类{
List prodList;--此prod列表由具有相同prodId的ProductBean填充。
B类=新的B类();
B.验证(产品清单);
processNextStep();
我可以生成多个线程来验证每个产品列表吗?
processNextStep()
此步骤需要在validate()完成后处理


提前感谢!

Executors提供了一种管理线程的简单方法,但是您仍然需要编写代码来执行任务并收集结果。这里有一个非常适合的选项是java 7中引入的框架。它实际上是ExecutorService的实现。

告诉我是否理解您的问题坦白地说。你有一个大的产品列表,你用大列表中的产品填充另一个列表,你需要验证较小的列表。谢谢@bku_drytt。实际上我试图暗示的是,有数千条与产品相关的记录正在被读取。现在这些记录需要根据列表中的产品Id进行分组,然后列表需要发送以进行验证。验证后,需要执行下一步。因此,为了加快每个组的验证过程,我尝试使用多线程技术实现。是的,在这种情况下,多线程听起来是个不错的主意。您可以简单地将记录拆分为独立的容器(列出)并让每个线程在其关联的容器上执行验证。因此,如果您的验证函数采用数组参数,只需让每个线程使用自己的记录数组执行该函数即可。谢谢@mvd。我们将查看一下。