博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多线程之线程池Executor应用
阅读量:6348 次
发布时间:2019-06-22

本文共 1593 字,大约阅读时间需要 5 分钟。

JDK1.5之后,提供了自带的线程池,以便我们更好的处理线程并发问题。

Executor类给我提供了多个线程池创建的方式:

   创建固定的线程池 Executors.newFixedThreadPool(2)

   创建可变的缓冲线程池 Executors.newCachedThreadPool()

   创建单一的线程池 Executors.newSingleThreadExecutor()

先面试线程池的基本操作:

package andy.thread.test;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/** * @author Zhang,Tianyou * @version 2014年11月8日 下午6:10:42 */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() {					// TODO Auto-generated method stub					for (int j = 0; j <= 5; j++) {						try {							TimeUnit.SECONDS.sleep(1);						} catch (InterruptedException e) {							// TODO Auto-generated catch block							e.printStackTrace();						}						System.out.println(Thread.currentThread().getName()								+ " is looping of " + j + " from task " + task);					}				}			});		}		// 启动一次顺序关闭,运行曾经提交的任务,但不接受新任务。		threadPool.shutdown();		// 试图停止全部正在运行的活动任务,暂停处理正在等待的任务,并返回等待运行的任务列表。		// threadPool.shutdownNow();				//运行线程的调度 6秒后运行 以后每2秒运行一次		Executors.newScheduledThreadPool(3).scheduleAtFixedRate(new Runnable() {			@Override			public void run() {				System.out.println("调度了。。");			}		}, 6, 2, TimeUnit.SECONDS);	}}

具体可看jdk相关解释。

转载地址:http://grpla.baihongyu.com/

你可能感兴趣的文章
vim 常用指令
查看>>
nodejs 获取自己的ip
查看>>
Nest.js 处理错误
查看>>
你好,C++(16)用表达式表达我们的设计意图——4.1 用操作符对数据进行运算...
查看>>
18.3 redis 的安装
查看>>
jdbc 简单连接
查看>>
Activiti 实战篇 小试牛刀
查看>>
java中的Static class
查看>>
Xshell 连接CentOS服务器解密
查看>>
[工具类]视频音频格式转换
查看>>
GNS3与抓包工具Wireshark的关联
查看>>
groovy-语句
查看>>
VIM寄存器使用
查看>>
Java VisualVM远程监控JVM
查看>>
nasm预处理器(2)
查看>>
二叉排序树 算法实验
查看>>
Silverlight 5 beta新特性探索系列:10.浏览器模式下内嵌HTML+浏览器模式下创建txt文本文件...
查看>>
YourSQLDba 配置——修改备份路径
查看>>
nginx web服务理论与实战
查看>>
java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
查看>>