写一个线程池 跑一个测试方法
时间: 2024-04-12 10:28:48 浏览: 15
好的,我可以帮你编写一个简单的线程池,并在其中运行一个测试方法。以下是一个示例代码:
```java
import java.util.concurrent.*;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建线程池
ExecutorService executor = Executors.newFixedThreadPool(5);
// 提交任务给线程池
executor.submit(new TestRunnable("Task 1"));
executor.submit(new TestRunnable("Task 2"));
executor.submit(new TestRunnable("Task 3"));
executor.submit(new TestRunnable("Task 4"));
executor.submit(new TestRunnable("Task 5"));
// 关闭线程池
executor.shutdown();
}
}
class TestRunnable implements Runnable {
private String taskName;
public TestRunnable(String taskName) {
this.taskName = taskName;
}
@Override
public void run() {
System.out.println("Running " + taskName);
try {
// 模拟任务执行时间
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(taskName + " completed.");
}
}
```
上述代码创建了一个固定大小为5的线程池,然后将5个任务提交给线程池执行。每个任务都是一个 `TestRunnable` 实例,用于模拟一些耗时的操作。在 `run()` 方法中,我们打印任务名称并模拟任务执行时间。你可以根据需要修改任务的数量和具体的任务逻辑。
注意,在使用完线程池后,我们需要调用 `shutdown()` 方法来关闭线程池,以确保线程池中的线程能够正确退出。