gpt4 book ai didi

java - 在java中读取大txt文件时使用线程?

转载 作者:行者123 更新时间:2023-12-02 00:23:57 25 4
gpt4 key购买 nike

我必须读取几个非常大的 txt 文件,并且必须根据用户输入使用多个线程或单个线程来执行此操作。

假设我有一个获取用户输入的 main 方法,并且用户请求一个线程并希望为该线程处理 20 个 txt 文件。我将如何实现这个目标?请注意,下面的代码不是我的代码或其设置,而只是“想法”。

示例:

int numFiles = 20;
int threads = 1;

String[] list = new String[20];
for(int i = 1; i < 21; i++){
list[i] = "hello" + i + ".txt";//so the list is a hello1.txt, hello2.txt, ..., hello20.txt
}

public void run(){
//processes txt file
}

总而言之,我如何用单个线程来完成这个任务?有 20 个线程?

最佳答案

听起来您需要一个可配置的线程池,并且每个文件读取操作都是要提交到该池中的作业。

当用户指定要使用的线程数时,您可以适本地配置池,提交文件读取作业集,然后让池对执行进行排序。

在 Java 世界中,您可以使用 Executors.newFixedThreadPool工厂方法,并将每个作业提交为 CallableHere's an article from IBM关于Java线程池。

关于java - 在java中读取大txt文件时使用线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10396744/

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