用java写段代码,定义一个全局线程池,然后调接口给线程池里传任务
时间: 2023-07-01 13:25:25 浏览: 102
Java代码构建一个线程池
好的,以下是一个简单的示例代码,您可以参考一下:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolDemo {
private static final int THREAD_POOL_SIZE = 10;
public static void main(String[] args) {
// 创建一个固定大小的线程池
ExecutorService executorService = Executors.newFixedThreadPool(THREAD_POOL_SIZE);
// 调用接口给线程池里传任务
for (int i = 0; i < 20; i++) {
executorService.execute(new Task(i));
}
// 关闭线程池
executorService.shutdown();
}
static class Task implements Runnable {
private int taskId;
public Task(int taskId) {
this.taskId = taskId;
}
@Override
public void run() {
System.out.println("Task " + taskId + " is running.");
}
}
}
```
在这个示例代码中,我们使用 `Executors.newFixedThreadPool` 方法创建了一个固定大小的线程池,大小为 10。然后,我们使用一个 `for` 循环调用了 20 次 `executorService.execute` 方法,将 `Task` 对象作为参数传入。`Task` 类实现了 `Runnable` 接口,表示这是一个可以被线程执行的任务。在 `run` 方法中,我们简单地输出了一句话,表示该任务正在运行。
最后,我们调用了 `executorService.shutdown` 方法关闭了线程池。
阅读全文