首页 > 编程语言 > 详细

Java线程池

时间:2020-07-30 10:05:42      阅读:77      评论:0      收藏:0      [点我收藏+]

技术分享图片

技术分享图片

package com.qf.demo01;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
class Task implements Runnable{
	@Override
	public void run() {
		//要执行的代码——>任务
		for(int i=0;i<10;i++){
			System.out.println(Thread.currentThread().getName()+"\t"+i);
		}
	}
}
public class Test1ThreadPool {

	public static void main(String[] args) {
		/*
		 * 使用线程池:
		 * 
		 * Executor:线程池的顶级接口
		 * 
		 * ExecutorService:线程池接口
		 * 
		 * Executors:创建线程池的一个类
		 * 		调用该类中的静态方法,就可以获取线程池
		 */
		//step1:创建一个线程池对象:里面存放一些线程
		//第1种:这种线程池中的线程的数量是固定的:由参数来指定
		//t1,t2,t3
//		ExecutorService es = Executors.newFixedThreadPool(3);
		
		//第2种:创建一个线程池对象:里面有对应的线程对象
		ExecutorService es = Executors.newCachedThreadPool();
		
		//step2:创建任务,Runnable接口的实现
		Task t1 = new Task();
		Task t2 = new Task();
		Task t3 = new Task();
		Task t4 = new Task();
		Task t5 = new Task();
		
		//step3:提交任务:将任务提交给线程池,分配线程对象执行任务对应的run()
//		es.submit(t1);//将t1这个任务提交给es线程池
//		es.submit(t2);//将t1这个任务提交给es线程池
//		es.submit(t3);//将t1这个任务提交给es线程池
//		es.submit(t4);//将t1这个任务提交给es线程池
//		es.submit(t5);//将t1这个任务提交给es线程池
		
		//了解性内容:
		ScheduledExecutorService ses = Executors.newScheduledThreadPool(1);
		/*
		 * 提交了一个要执行的任务:延迟10秒钟执行
		 */
		ses.schedule(new Runnable() {
			
			@Override
			public void run() {
				System.out.println("假装关机。。。");
				
			}
		}, 10, TimeUnit.SECONDS);
		
	}

}

  

Java线程池

原文:https://www.cnblogs.com/yzg-14/p/13401573.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!