下面是一个简单的Java线程池的实例代码:
java
import urrent.ExecutorService;
import urrent.Executors;
public class ThreadPoolExample {
public static void main(String[] args) { java线程池创建的四种
// 创建一个固定大小的线程池
ExecutorService executor = wFixedThreadPool(5);
// 提交10个任务到线程池
for (int i = 0; i < 10; i++) {
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 command) {
thismand = command;
}
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + " 开始处理: " + command);
processCommand();
System.out.println(Thread.currentThread().getName() + " 结束处理: " + command);
}
private void processCommand() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
这个例子中,我们首先创建了一个固定大小的线程池,大小为5。然后我们创建了10个任务(WorkerThread实例)并将它们提交到线程池。每个WorkerThread在其run方法中模拟了一个耗时的操作。最后,我们关闭线程池并等待所有任务完成。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论