javaSE 线程池, Executors.newFixedThreadPool(), ExecutorService


Demo.java:

package cn.xxx.demo;

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

/*
 *  JDK1.5新特性,实现线程池程序
 *  使用工厂类 Executors中的静态方法创建线程对象,指定线程的个数
 *   static ExecutorService newFixedThreadPool(int 个数) 返回线程池对象
 *   返回的是ExecutorService接口的实现类 (线程池对象)
 *   
 *   接口实现类对象,调用方法submit(Runnable r) 提交线程执行任务
 *          
 */
public class Demo {
	public static void main(String[] args) {
		//调用工厂类的静态方法,创建线程池对象
		//返回线程池对象,是返回的接口
		ExecutorService es = Executors.newFixedThreadPool(2); // 创建线程池对象
	    //调用接口实现类对象es中的方法submit提交线程任务
		//将Runnable接口实现类对象,传递
		es.submit(new ThreadPoolRunnable());  // 提交(执行)线程任务。
		es.submit(new ThreadPoolRunnable());
		es.submit(new ThreadPoolRunnable());
		
		es.shutdown();  // 关闭线程池。 (不经常用)
	}
}
ThreadPoolRunnable.java(实现Runnable接口,重写run方法):
package cn.xxx.demo;

public class ThreadPoolRunnable implements Runnable {  // 实现Runnable接口
	public void run(){   // 重写run方法
		System.out.println(Thread.currentThread().getName()+" 线程提交的任务");
	}
}


猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/80733423