java实现for多线程
时间: 2023-11-09 07:50:38 浏览: 97
要在Java中实现使用多线程的for循环,可以使用Java的线程池和Callable接口来实现。下面是一个示例代码:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class MultiThreadedForLoop {
public static void main(String[] args) {
int start = 1;
int end = 10;
int threadCount = 4;
ExecutorService executor = Executors.newFixedThreadPool(threadCount);
for (int i = start; i <= end; i++) {
final int num = i;
Future<?> future = executor.submit(() -> {
// 在这里执行for循环中的代码
System.out.println("Thread: " + Thread.currentThread().getName() + ", num: " + num);
});
// 可选:如果需要等待所有线程执行完毕再继续,可以调用future.get()方法
// try {
// future.get();
// } catch (InterruptedException | ExecutionException e) {
// e.printStackTrace();
// }
}
executor.shutdown();
}
}
```
在这个示例中,我们创建了一个固定大小的线程池,并使用submit方法提交了多个任务(每个任务代表一个for循环的迭代)。通过lambda表达式,我们将每个任务定义为可执行的代码块,并在其中执行for循环中的代码。
这样,多个任务将被分配给线程池中的线程进行执行。
阅读全文