如何使用多线程并行执行具有不同参数的方法?

时间:2018-01-07 11:18:30

标签: java multithreading

我有一个方法可以说" readFile(String filename)",我想传递不同的文件名并在不同的线程中运行此方法,并在不同的文件中写入输出。这个过程应该是平行的。

我不熟悉多线程概念,也无法理解如何继续。

请帮我解决这个问题

1 个答案:

答案 0 :(得分:1)

首先,使用您的文件名

实现Runnable
public class RunWithParameters implements Runnable {

    private String sourceFile;
    private String targetFile;

    public RunWithParameters(String sourceFile, String targetFile) {
        this.sourceFile = sourceFile;
        this.targetFile = targetFile;
    }

    public void run() {
        // your business logic with sourceFile and targetFile
    }
} 

然后,使用RunWithParameters

运行ExecutorService
ExecutorService executorService = Executors.newFixedThreadPool(N);
for (int i = 0; i < N; i++) {
    executorService.submit(new RunWithParameters("sourceFile" + i, "targetFile" + i));
}

更多信息 http://www.baeldung.com/java-executor-service-tutorial