多线程之线程池Executor应用
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相关解释。
多线程之线程池Executor应用的更多相关文章
- ExecutorService 建立一个多线程的线程池的步骤
ExecutorService 建立一个多线程的线程池的步骤: 线程池的作用: 线程池功能是限制在系统中运行的线程数. 依据系统的环境情况,能够自己主动或手动设置线程数量.达到执行的最佳效果:少了浪费 ...
- Java多线程与线程池技术
一.序言 Java多线程编程线程池被广泛使用,甚至成为了标配. 线程池本质是池化技术的应用,和连接池类似,创建连接与关闭连接属于耗时操作,创建线程与销毁线程也属于重操作,为了提高效率,先提前创建好一批 ...
- Java 多线程:线程池
Java 多线程:线程池 作者:Grey 原文地址: 博客园:Java 多线程:线程池 CSDN:Java 多线程:线程池 工作原理 线程池内部是通过队列结合线程实现的,当我们利用线程池执行任务时: ...
- C#多线程之线程池篇3
在上一篇C#多线程之线程池篇2中,我们主要学习了线程池和并行度以及如何实现取消选项的相关知识.在这一篇中,我们主要学习如何使用等待句柄和超时.使用计时器和使用BackgroundWorker组件的相关 ...
- C#多线程之线程池篇2
在上一篇C#多线程之线程池篇1中,我们主要学习了如何在线程池中调用委托以及如何在线程池中执行异步操作,在这篇中,我们将学习线程池和并行度.实现取消选项的相关知识. 三.线程池和并行度 在这一小节中,我 ...
- C#多线程之线程池篇1
在C#多线程之线程池篇中,我们将学习多线程访问共享资源的一些通用的技术,我们将学习到以下知识点: 在线程池中调用委托 在线程池中执行异步操作 线程池和并行度 实现取消选项 使用等待句柄和超时 使用计时 ...
- 重新想象 Windows 8 Store Apps (42) - 多线程之线程池: 延迟执行, 周期执行, 在线程池中找一个线程去执行指定的方法
[源码下载] 重新想象 Windows 8 Store Apps (42) - 多线程之线程池: 延迟执行, 周期执行, 在线程池中找一个线程去执行指定的方法 作者:webabcd 介绍重新想象 Wi ...
- Java并发——线程池Executor框架
线程池 无限制的创建线程 若采用"为每个任务分配一个线程"的方式会存在一些缺陷,尤其是当需要创建大量线程时: 线程生命周期的开销非常高 资源消耗 稳定性 引入线程池 任务是一组逻辑 ...
- C#多线程和线程池问题
static void Main(string[] args) { Thread threadA = new Thread(ThreadMethod); //执行的必须是无返回值的方法 threadA ...
随机推荐
- Netty In Action中文版 - 第一章:Netty介绍
本章介绍 Netty介绍 为什么要使用non-blocking IO(NIO) 堵塞IO(blocking IO)和非堵塞IO(non-blocking IO)对照 Java NIO的问题和在Nett ...
- 第三篇——第二部分——第四文 配置SQL Server镜像——非域环境
原文:第三篇--第二部分--第四文 配置SQL Server镜像--非域环境 本文为非域环境搭建镜像演示,对于域环境搭建,可参照上文:http://blog.csdn.net/dba_huangzj/ ...
- File类基本操作之OutputStream字节输出流
贴代码了,已经測试,可正常编译 package org.mark.streamRW; import java.io.File; import java.io.FileOutputStream; imp ...
- Objective-C路成魔【2-Objective-C 规划】
郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 编译执行O ...
- web前端利用HSTS(新的Web安全协议HTTP Strict Transport Security)漏洞的超级Cookie(HSTS Super Cookie)
web前端如果想实现cookie跨站点,跨浏览器,清除浏览器cookie该cookie也不会被删除这似乎有点难,下面的教程让你完全摆脱document.cookie 1.服务器端设置HSTS 如PHP ...
- mac已安装xctool而简单的执行xctool打包
先安装brew,brew是一个包管理工具,有了它我们就能够非常方便的安装xctool了,brew安装命令例如以下: curl -LsSf http://github.com/mxcl/homebrew ...
- MEF初体验之六:导出和元素据
在导出声明这一节中解释了部件导出服务和值的基础知识.在某些情况下,出于多种原因,关联与导出相关的信息是有必要的.通常,它被用来解释一个指定的普通契约实现的能力.这对于允许导入约束满足它的导出,或者导入 ...
- Caused by: org.springframework.beans.NotWritablePropertyException
1.错误叙述性说明 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -h ...
- C#+Mapxtreme 实现一些GIS系统基本的功能
此程序包括了mapxtreme地图相关基本功能的演示其中包括 鹰眼地图,图层控制,发达,缩小,平移地图,地图模糊查询,中点工具,距离测量工具,面积测量工具,图元信息查看工具.适合于企业级开发,可以为您 ...
- 树莓派的演奏音符3 -- LCD1602显示文章
LCD1602它是低-cost输出装置.它具有体积小.简单的操作.低功耗优势.因此,在一些DIY 用它来输出关于产品的一些信息. 昨日在使用,尽管平局网上资源,但仍存在一些问题,确处理. 一.LCD1 ...