说一下 jdk7 的 ForkJoinPool
来源:互联网 发布:单片机一键开关机 编辑:程序博客网 时间:2024/06/02 09:38
by yinmingjun
网上找了一下 ForkJoinPool 的资料,发现资料不多,看来大多的兄弟还留在 Executors 的坑里没出来。
简单的说,ForkJoinPool 是更好的线程池的技术,主要是面向目前的多线程高并发的场景提供的底层工具,理念和性能上比原来的线程池模式高不少(没测试比较,只是直觉),像scala的promise模式的底层,直接用的就是ForkJoinPool。
下面,简单说一下使用方法:
1、生成一个ForkJoinTask
2、创建 ForkJoinPool 执行 task
就是这么简单。
简单的说一下 ForkJoinPool 的特性:
1、ForkJoinPool的默认构造是根据机器的CPU数量构造线程池的大小的,也就是说一般有一个ForkJoinPool就够了。
2、ForkJoinPool 的 execute 把 task 提交到队列就立即返回
3、按照契约,task 的 get 方法会等待task执行结束,要么带回结果,要么带回异常
4、invoke方法 = execute + get 合体
PS : 当然,既然是 ForkJoinPool,就避免不了去说 task 的 fork 和 join 方法,自己看一下:
语义层面,fork把自己重新调度执行,join 等待 task 结束,和 get 类似。
有时间可以看看JDK的代码,注释很清晰。我个人推荐 ForkJoinPool,毕竟是产生在多核时代的产品,会清晰易用一些。
0 0
- 说一下 jdk7 的 ForkJoinPool
- 关于jdk7的forkjoinpool
- ForkJoinPool的使用
- ForkJoinPool
- ForkJoinPool
- ForkJoinPool
- 说一下JS的hasOwnProperty
- 说一下java在win2000的环境变量
- 说一下最近的工作吧
- 弱弱的说一下敏捷开发
- 简要说一下MongoDB的备份方式:
- 说一下我家小宝的事情
- 说一下对SVN的理解
- 说一下switch(expr)的表达式类型
- 说一下android的sqlite数据库BaseSQLiteOpenHelper
- 记录一个时间,说一下自己的感受
- xml(简单的说一下xml)
- 今天简单说一下cdc 的使用
- BZOJ 2111 [ZJOI2010]Perm 排列计数
- Android性能优化笔记
- 搭建最新版本的Android开发环境
- The Linux Command Line 读书笔记 第十三章 Customizing The Prompt
- div下同行多元素右对齐
- 说一下 jdk7 的 ForkJoinPool
- sendEmail invalid SSL_version at SSL.pm
- docker 详解
- Node.js 教程
- hive中的distribute by, order by, sort by简述
- Android studio怎么配置git环境
- Java GUI之初见JFrame
- Spark集群(单机)环境部署
- 链表相关算法