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

Java 如何使用多线程并行执行具有不同参数的方法?,java,multithreading,Java,Multithreading,我有一个方法,比如“readFile(stringfilename)”,我想传递不同的文件名,在不同的线程中运行这个方法,并在不同的文件中写入输出。这个过程应该是并行的 我不擅长多线程概念,也不理解如何继续 请在这方面帮助我首先,用您的文件名实现Runnable public class RunWithParameters implements Runnable { private String sourceFile; private String targetFile;

我有一个方法,比如“readFile(stringfilename)”,我想传递不同的文件名,在不同的线程中运行这个方法,并在不同的文件中写入输出。这个过程应该是并行的

我不擅长多线程概念,也不理解如何继续


请在这方面帮助我

首先,用您的文件名实现
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
    }
} 
然后,使用
ExecutorService
运行
RunWithParameters

ExecutorService executorService = Executors.newFixedThreadPool(N);
for (int i = 0; i < N; i++) {
    executorService.submit(new RunWithParameters("sourceFile" + i, "targetFile" + i));
}
ExecutorService ExecutorService=Executors.newFixedThreadPool(N);
对于(int i=0;i
更多信息

如果您的目标是加快I/O速度,那么这很可能无论如何都不起作用,因为磁盘的传输速率是瓶颈。