gpt4 book ai didi

Java多线程解析txt文件

转载 作者:行者123 更新时间:2023-11-30 04:00:51 25 4
gpt4 key购买 nike

我有一种方法来解析txt文件并将数据保存到数据库。方法名为:parseFileAndSaveToDB(String fileAddress);该文件很大(100 000 行),因此将数据插入数据库非常长。

任何人都可以帮我在多线程中做到这一点吗?我认为每个线程都可以对每个文件使用此方法,例如:

parseFileAndSaveToDB("c:/file1");//thread 1
parseFileAndSaveToDB("c:/file2");//thread 2
parseFileAndSaveToDB("c:/file3");//thread 3
parseFileAndSaveToDB("c:/file4");//thread 4

但是如何使用多线程呢?这是个好主意吗?

最佳答案

请看一下这个link here其中解释了如何在java中使用ExecutorService。它可以是这样的:

ExecutorService executorService = Executors.newFixedThreadPool(10);

MyDataLoader myDataLoader1 = new MyDataLoader("c:/file1");
MyDataLoader myDataLoader2 = new MyDataLoader("c:/file2");
MyDataLoader myDataLoader3 = new MyDataLoader("c:/file3");

executorService.execute(myDataLoader1);
executorService.execute(myDataLoader2);
executorService.execute(myDataLoader3);

executorService.shutdown();

您可以编写 MyDataLoader 类,如下所示:

public class MyDataLoader implements Runnable {

String fileName = null;

public MyDataLoader(String fileName) {
this.fileName = fileName;
}

public void run() {
//Your logic to parse file and insert the data in DB.
}
}

希望这有帮助。

关于Java多线程解析txt文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22012602/

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