现在的位置: 首页 > 综合 > 正文

Java5线程池

2018年06月05日 ⁄ 综合 ⁄ 共 843字 ⁄ 字号 评论关闭

为了处理一些高并发的访问,java5提出了线程池的概念。线程池的分类:

1:newCachedThreadPool():缓存型池子,先看看池子中有没有以前建立的线程,如果有,就使用,如果没有就创建一个新的线程加入池中。缓存型池子通常用于执行一些生命周期很短的异步任务。

2:newFixedThreadPool():任意时间点,最多能有固定数目的活动线程存在,此时如果有新的线程建立,只能放在另外的队列中等待,直到当前线程中的某个线程终止被移除池子。FixedTreadPool通常用于一些很稳定很固定的正规并发线程,多用于服务器。

3:ScheduleThreadPool():调度型线程池,这个池子里的线程可以按schedule依次delay执行,或周期执行。

4:SingleThreadExecutor():单例线程,任意时间只能有一个线程!


示例:

public class ThreadPoolTest {

	public static void main(String[] args) {
		
		/*创建一个固定的线程池*/
		//ExecutorService threadPool = Executors.newFixedThreadPool(3);
		/*定义一个缓存线程池*/
		//ExecutorService threadPool = Executors.newCachedThreadPool();
		/*定义一个单例线程池*/
		ExecutorService threadPool = Executors.newSingleThreadExecutor();
		
		/*模拟操作是个任务*/
		for (int i=0; i<10; i++){
			final int task = i;
			/*执行任务*/
			threadPool.execute(new Runnable() {
				
				@Override
				public void run() {
					System.out.println(Thread.currentThread().getName()+"===>"+ task);
				}
			});
		}
	}

}

抱歉!评论已关闭.