码迷,mamicode.com
首页 > 编程语言 > 详细

Java线程池

时间:2020-07-30 10:47:54      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:执行   tor   runnable   ash   loading   static   out   一个   cond   

技术图片

技术图片

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线程池

标签:执行   tor   runnable   ash   loading   static   out   一个   cond   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!