Java中使用线程池创建多线程

代码实现

//输出偶数
class NumberThread1 implements Runnable{
    @Override
    public void run() {
        for (int i = 0; i <= 100; i++) {
            if (i % 2 == 0) {
                System.out.println("线程:"+Thread.currentThread().getName() + ",输出偶数" + i);
            }
        }
    }
}
//输出奇数
class NumberThread2 implements Runnable{
    @Override
    public void run() {
        for (int i = 0; i <= 100; i++) {
            if (i % 2 != 0) {
                System.out.println("线程:"+Thread.currentThread().getName() + ",输出奇数" + i);
            }
        }
    }
}

public class ThreadPool {
    public static void main(String[] args) {
        //创建指定线程数的线程池
        ExecutorService executorService = Executors.newFixedThreadPool(5);
        //执行指定操作的线程,需要提供实现Runnable接口实现类或Callable接口实现类的对象
        //execute()方法适合Runnable
        executorService.execute(new NumberThread1());
        executorService.execute(new NumberThread2());
        //submit()方法适合Callable
        //关闭线程池
        executorService.shutdown();
    }
}
经验分享 程序员 微信小程序 职场和发展