在Java中,可以使用urrent.Executors类来创建一个线程池。以下是一个简单的例子:
import urrent.ExecutorService;
import urrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) {
// 创建一个固定大小的线程池
ExecutorService executor = wFixedThreadPool(5);
// 创建10个任务并提交给线程池
for (int i = 0; i < 10; i++) {java线程池创建的四种
Runnable worker = new WorkerThread("" + i);
ute(worker);
}
// 关闭线程池(实际上是使线程池不再接受新任务,等待所有任务完成后关闭)
executor.shutdown();
while (!executor.isTerminated()) {}
System.out.println("所有线程运行完毕");
}
}
class WorkerThread implements Runnable {
private String command;
public WorkerThread(String s) { thismand = s; }
@Override public void run() { System.out.println(Thread.currentThread().getName() + " 开始处理: " + command); } }
这个例子创建了一个拥有5个线程的线程池,然后提交10个任务给这个线程池。每个任务是一个WorkerThread实例,当它被调用时,它将打印出当前线程的名字以及它正在处理的命令。在所有任务都被提交后,我们调用executor.shutdown()来关闭线程池。这使得线程池不再接受新的任务,但是会等待所有已提交的任务完成后再关闭。然后我们通过一个循环来等待线程池完全关闭,当线程池的状态变为TERMINATED时,我们退出循环。最后,所有线程都运行完毕,打印出"所有线程运行完毕"。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。