Java 多线程处理 List 中内容:高效执行任务示例
下面是一个 Java 多线程执行将 List 中的内容处理任务的示例代码:
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class MultiThreadedListProcessing {
public static void main(String[] args) {
// create a list of tasks to be executed
List<Runnable> tasks = new ArrayList<>();
tasks.add(new Task('Task 1'));
tasks.add(new Task('Task 2'));
tasks.add(new Task('Task 3'));
tasks.add(new Task('Task 4'));
tasks.add(new Task('Task 5'));
// create a thread pool with 3 threads
ExecutorService executor = Executors.newFixedThreadPool(3);
// submit tasks to executor
for (Runnable task : tasks) {
executor.submit(task);
}
// shutdown the executor
executor.shutdown();
}
static class Task implements Runnable {
private String name;
public Task(String name) {
this.name = name;
}
@Override
public void run() {
// process the task
System.out.println('Processing ' + name + ' on thread ' + Thread.currentThread().getName());
}
}
}
在本示例中,我们首先创建了一个包含多个任务的列表。然后,我们创建了一个线程池,该线程池具有 3 个线程。接下来,我们将任务提交给执行器,执行器将自动地将任务分配给可用线程。最后,我们关闭执行器以释放资源。
每个任务都是 Runnable 接口的实例,它们被传递给执行器以异步执行。在本示例中,每个任务都打印出一个简单的消息,以模拟任务的处理过程。由于线程池具有 3 个线程,因此最多只有 3 个任务会同时处理。如果我们添加更多任务,它们将等待可用的线程来处理它们。
原文地址: https://www.cveoy.top/t/topic/nIJH 著作权归作者所有。请勿转载和采集!