Java使用线程池代码

发布时间:2024年01月14日

下面是一个使用Java线程池的示例代码:

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class ThreadPoolExample {

    public static void main(String[] args) {
        // 创建一个固定大小的线程池,大小为5
        ExecutorService executor = Executors.newFixedThreadPool(5);

        // 创建10个任务并提交给线程池执行
        for (int i = 0; i < 10; i++) {
            Runnable worker = new WorkerThread("Task " + i);
            executor.execute(worker);
        }

        // 关闭线程池
        executor.shutdown();
        while (!executor.isTerminated()) {
        }

        System.out.println("All tasks are completed");
    }
}

class WorkerThread implements Runnable {

    private String task;

    public WorkerThread(String task) {
        this.task = task;
    }

    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName() + " Start. Task = " + task);
        processTask();
        System.out.println(Thread.currentThread().getName() + " End.");
    }

    private void processTask() {
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

这段代码创建了一个固定大小为5的线程池,然后创建了10个任务并提交给线程池执行。每个任务打印一条消息,并休眠2秒钟模拟任务的处理。最后,主线程等待所有任务完成后输出"All tasks are completed"。

文章来源:https://blog.csdn.net/huayula/article/details/135582646
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。