java之线程池解析
来源:互联网 发布:techsmith软件 编辑:程序博客网 时间:2024/06/05 02:57
一、Executor框架
Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。他们的关系为:
并发编程的一种编程方式是把任务拆分为一些列的小任务,即Runnable,然后在提交给一个Executor执行,Executor.execute(Runnalbe)。Executor在执行时使用内部的线程池完成操作。
二、创建线程池
2.1、Executors类,提供了一系列工厂方法用于创先线程池,返回的线程池都实现了ExecutorService接口。
2.1.1、创建固定数目线程的线程池。
public static ExecutorService newFixedThreadPool(int nThreads)
2.1.2创建一个可缓存的线程池,调用execute 将重用以前构造的线程(如果线程可用)。如果现有线程没有可用的,则创建一个新线程并添加到池中。终止并从缓存中移除那些已有 60 秒钟未被使用的线程。
public static ExecutorService newCachedThreadPool()
2.1.3、创建一个单线程化的Executor。
public static ExecutorService newSingleThreadExecutor()
2.1.4、创建一个支持定时及周期性的任务执行的线程池,多数情况下可用来替代Timer类。
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize)
使用newFixedThreadPool(int intThreads)方法创建一个ExecutorService, 创建可以容纳10个线程任务
ExecutorService executorService = Executors.newFixedThreadPool(10);
向execute(Runnable runnable)方法中传递一个异步的Runnable对象, ExecutorService 中某个线程会执行这个runnable线程
executorService.execute(new Runnable() { public void run() { System.out.println("Asynchronous task"); }});executorService.shutdown();
任务的委托(Task Delegation)
创建线程池
ExecutorService executorService1 = Executors.newSingleThreadExecutor();ExecutorService executorService2 = Executors.newFixedThreadPool(10);ExecutorService executorService3 = Executors.newScheduledThreadPool(10);
0 0
- java之线程池解析
- JavaSE 之 ----- Java线程池的解析
- Java线程池解析
- java线程池解析
- java线程池的解析
- 深入解析java线程池
- Java线程池实例解析
- java线程池源码解析
- Java 线程池源码解析
- Java线程池源码解析
- Java线程之线程池
- Java之线程池
- {java}之线程池
- Java之线程池
- Java之线程池
- java之线程池
- java之线程池
- Java之线程池
- 结合定时器函数与window.status做出状态栏的文字动态移动效果
- hdu 1677 Nested Dolls LIS + 动态规划
- 中国剩余定理学习总结
- C# 鼠标滚动事件比例缩放图片
- 格式化字符串漏洞利用 五、爆破
- java之线程池解析
- WEB系统防止同一账号,同时在多个不同设备登录。
- C# 正则表达式记录
- 372-分割数组
- Chrome浏览器命令行启动参数
- junit4 使用时 报此错误 java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
- tcp分组和ip分片小解
- linux 常用命令
- 线程join、yield、priority、daemon方法