gpt4 book ai didi

java - 暂时在for循环中完成的一系列 Action 如何实现forkjoin

转载 作者:行者123 更新时间:2023-11-30 11:50:34 24 4
gpt4 key购买 nike

我有一个发件人列表,我必须并行地单独发送邮件。目前我正在遍历列表构建正文(因为它对不同的人来说是不同的)然后发送它们。我该如何使用 forkjoin 呢。我尝试使用 recusiveAction,但我猜它只适用于递归任务。

所有在互联网上可用的例子都是用 RecursiveAction 实现的。有没有其他类可以实现这个。

最佳答案

ServiceExecutors 在这方面做得很好。它们随 Java 一起提供。

import java.util.*;
import java.util.concurrent.*;

public class SendMailExample
{
public static void main(String[] args) throws Exception
{
ExecutorService executor = Executors.newFixedThreadPool(3);

Collection<Future> futures = new ArrayList<Future>();
futures.add(executor.submit(new Mailer("thread1")));
futures.add(executor.submit(new Mailer("thread2")));
futures.add(executor.submit(new Mailer("thread3")));

for (Future future : futures)
{
future.get();
}
executor.shutdown();
}

static class Mailer implements Runnable
{
private Object message;

public Mailer(Object message)
{
this.message = message;
}

public void run()
{
System.out.println("Sending message " + String.valueOf(message));
}
}
}

关于java - 暂时在for循环中完成的一系列 Action 如何实现forkjoin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7916119/

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