Java 线程池:封装线程池调用方法示例
以下是使用封装好的线程池调用Java方法的示例代码:
- 定义一个实现Runnable接口的类,作为任务执行的主体:
public class MyTask implements Runnable {
private int taskId;
public MyTask(int taskId) {
this.taskId = taskId;
}
@Override
public void run() {
System.out.println('Task ' + taskId + ' is running on thread ' + Thread.currentThread().getName());
// 执行需要执行的Java方法
}
}
- 创建一个线程池对象,指定线程池的大小:
int poolSize = 5;
ExecutorService executor = Executors.newFixedThreadPool(poolSize);
- 创建多个任务对象,将它们提交给线程池执行:
for (int i = 0; i < 10; i++) {
MyTask task = new MyTask(i);
executor.execute(task);
}
- 等待所有任务执行完成后,关闭线程池:
executor.shutdown();
while (!executor.awaitTermination(1, TimeUnit.SECONDS)) {
System.out.println('Waiting for tasks to complete...');
}
在上述代码中,我们通过实现Runnable接口来定义任务,将任务对象提交给线程池执行。线程池会自动调度任务,并控制线程的数量,从而优化系统资源的利用。最后,我们通过调用shutdown()方法等待任务执行完成后关闭线程池。
原文地址: https://www.cveoy.top/t/topic/okx0 著作权归作者所有。请勿转载和采集!