100个线程如何同时执行任务 java实现
时间: 2023-11-27 10:55:28 浏览: 44
在Java中,可以使用线程池来管理和执行线程。线程池可以预先创建一定数量的线程,并且在需要执行任务时,将任务分配给已经创建的线程执行。这样可以避免频繁地创建和销毁线程,从而提高性能。
以下是一个简单的示例代码,展示如何使用线程池同时执行100个任务:
```
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建一个包含10个线程的线程池
ExecutorService executor = Executors.newFixedThreadPool(10);
// 创建100个任务,并将它们提交给线程池执行
for (int i = 0; i < 100; i++) {
Runnable task = new Task(i);
executor.execute(task);
}
// 关闭线程池
executor.shutdown();
}
private static class Task implements Runnable {
private int taskId;
public Task(int id) {
this.taskId = id;
}
@Override
public void run() {
System.out.println("Task #" + taskId + " is running.");
}
}
}
```
在上面的代码中,我们首先创建了一个包含10个线程的线程池,然后使用一个循环创建100个任务,并将它们提交给线程池执行。每个任务都是一个实现了Runnable接口的类,并且在run()方法中输出一个简单的消息。
当所有任务都执行完毕后,我们调用线程池的shutdown()方法关闭线程池。