concurrent-3-线程复用
来源:互联网 发布:hbase mysql元数据 编辑:程序博客网 时间:2024/05/02 03:10
Executor框架
线程池
newFixedThreadPool() //线程池中的线程数量始终不变,新任务提交,有空闲线程立马执行,否则会将任务加入到任务队列,有线程空闲时,便处理在任务队列中的任务。 newSingleThreadExecutor() //线程池中的线程数量为1,新任务提交,线程空闲则立马执行,否则会将任务加入到任务队列,待线程空闲时,便处理在任务队列中的任务。 newCachedTheadPool() //可根据实际情况调整线程池数量,优先使用空闲线程,待无空闲线程,又有新任务时,创建新的线程执行。
public static void main(String[] args) { ExecutorService executorService=Executors.newFixedThreadPool(5); for(int i = 0 ; i < 10 ; i ++) { executorService.submit( ()->{ System.out.println(Thread.currentThread().getId()); try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } } ); } executorService.shutdown(); } //输出 //11 //12 //13 //14 //15 //13 //14 //15 //11 //12
计划任务
newSingleThreadScheduledExecutor() //线程池中的线程数量始终未1,在指定时间执行某任务 newScheduledThreadPool() //线程池可以指定线程数量
//scheduleAtFixedRate //每隔一定频率执行 //scheduleWithFixedDelay //每隔一个执行时间间隔后执行 public static void main(String[] args) { ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(5); scheduledExecutorService.scheduleAtFixedRate( //scheduledExecutorService.scheduleWithFixedDelay( ()->{ try { Thread.sleep(4000); System.out.println(System.currentTimeMillis()/1000); } catch (InterruptedException e) { e.printStackTrace(); } } ,0,2, TimeUnit.SECONDS); } //输出1 //1495982410 //1495982414 //1495982418 //1495982422 //输出2 //1495982354 //1495982360 //1495982366 //1495982372
阅读全文
0 0
- concurrent-3-线程复用
- Concurrent (3)
- java.util.concurrent 线程池
- java.util.concurrent线程池
- Concurrent包中的线程池
- concurrent包与线程池
- 张孝祥java.concurrent线程并发学习笔记 - concurrent简介
- 张孝祥java.concurrent线程并发学习笔记 - concurrent简介
- java.util.concurrent包(3)——线程间通信wait/notify和await/signal
- 如何使用concurrent保证线程安全
- 回头看JDK5中的concurrent包、线程池
- Java5 java.util.concurrent 实现线程池
- 线程concurrent包(Lock 與 Condition)
- 线程池实现技术分析(concurrent)
- 线程池java.util.concurrent.ThreadPoolExecutor总结
- 线程池java.util.concurrent.ThreadPoolExecutor总结
- 线程池java.util.concurrent.ThreadPoolExecutor总结
- Concurrent下的线程安全集合淄滋爪篆装状
- Structs2 Reponse rediret 使用https
- B. 精明的朱老板--继续签到
- 深度学习 —— 使用 gensim 实现 word2vec
- HQL
- ngrok
- concurrent-3-线程复用
- eclipse部署web项目至本地的tomcat但在webapps中找不到
- php 闭包与匿名函数
- spring事务
- windows10 连接ubuntu14.04远程桌面
- PHP中读取(截取substr)字符串前N个字符或者从第几个字符开始取几个字符
- Windows进程间通信方法总结
- USACO-Section 1.2 Transformations [...]
- Linux-Download tools