Java 如何使用多线程并行执行具有不同参数的方法?
我有一个方法,比如“readFile(stringfilename)”,我想传递不同的文件名,在不同的线程中运行这个方法,并在不同的文件中写入输出。这个过程应该是并行的 我不擅长多线程概念,也不理解如何继续Java 如何使用多线程并行执行具有不同参数的方法?,java,multithreading,Java,Multithreading,我有一个方法,比如“readFile(stringfilename)”,我想传递不同的文件名,在不同的线程中运行这个方法,并在不同的文件中写入输出。这个过程应该是并行的 我不擅长多线程概念,也不理解如何继续 请在这方面帮助我首先,用您的文件名实现Runnable public class RunWithParameters implements Runnable { private String sourceFile; private String targetFile;
请在这方面帮助我首先,用您的文件名实现
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速度,那么这很可能无论如何都不起作用,因为磁盘的传输速率是瓶颈。