下面是一个简单的Java线程池多线程示例:

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

public class ThreadPoolExample {
    public static void main(String[] args) {
        ExecutorService executor = Executors.newFixedThreadPool(5);
        for (int i = 0; i < 10; i++) {
            Runnable worker = new WorkerThread("" + i);
            executor.execute(worker);
        }
        executor.shutdown();
        while (!executor.isTerminated()) {
        }
        System.out.println("Finished all threads");
    }
}

class WorkerThread implements Runnable {
    private String message;
    public WorkerThread(String s) {
        this.message = s;
    }
    public void run() {
        System.out.println(Thread.currentThread().getName() + " (Start) message = " + message);
        processMessage();
        System.out.println(Thread.currentThread().getName() + " (End)");
    }
    private void processMessage() {
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们创建了一个固定大小的线程池来处理10个任务。每个任务都是一个WorkerThread对象,它实现了Runnable接口。线程池调用execute()方法来提交任务,然后在线程池中创建一个新的线程来处理它。当所有任务都完成后,我们调用shutdown()方法来关闭线程池。最后,我们使用isTerminated()方法来检查线程池是否已经终止,然后输出“Finished all threads”消息

java线程池多线程示例

原文地址: https://www.cveoy.top/t/topic/dxTU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录