Java ThreadPool源码简单的解析
来源:互联网 发布:windows.old文件夹 编辑:程序博客网 时间:2024/06/05 19:23
由于工作的需要,在实际的工作中使用java 线程池。现在对java的线程池ThreadPool做简单的解析。大体的主要类图关系:![类图](http://img.blog.csdn.net/20160803203424920)
其中对外暴露的核心方法为execute,具体的代码如下
public void execute(Runnable command) {
if (command == null)
throw new NullPointerException();
int c = ctl.get();
if (workerCountOf(c) < corePoolSize) {
if (addWorker(command, true))
return;
c = ctl.get();
}
if (isRunning(c) && workQueue.offer(command)) {
int recheck = ctl.get();
if (! isRunning(recheck) && remove(command))
reject(command);
else if (workerCountOf(recheck) == 0)
addWorker(null, false);
}
else if (!addWorker(command, false))
reject(command);
}
上面代码的大致意思是,可以使用下图展示
队列中的任务是通过任务执行驱动的不是通过扫描执行的。
- Java ThreadPool源码简单的解析
- 一个简单的ThreadPool分析
- C# ThreadPool的简单用法
- 简单的源码解析
- 简单看看ThreadPool的源码以及从中看出线程间传值的另一种方法
- 【源码剖析】threadpool —— 基于 pthread 实现的简单线程池
- 【源码剖析】threadpool —— 基于 pthread 实现的简单线程池
- 【源码剖析】threadpool —— 基于 pthread 实现的简单线程池
- java--ThreadPool线程池简单用法
- java threadPool 线程池简单分析
- Handler源码的简单解析
- Java ThreadPool
- java-threadpool
- threadpool源码分析
- elasticsearch-ThreadPool源码
- 关于ImageView的源码简单解析
- Picasso源码的简单解析(一)
- Picasso源码的简单解析(二)
- HDU1025 nlogn的LIS
- Python 爬虫5——爬取并下载网页指定规格的图片
- Linux下静态链接库与动态链接库的区别
- 仿网易新闻分类刷新
- POJ2836 状态压缩dp不能逆向推倒的
- Java ThreadPool源码简单的解析
- ANDROID 内存分析
- Activex签名方法和工具技巧(图)
- MATLAB函数句柄、单元数组和结构
- 51NOD 1016 水仙花数 V2(打表)
- kafka同步zookeeper前移偏移量
- codeforces Inna and Dima:好题,记忆化搜索,dfs
- JavaEE(3)
- RCNN(一):Rich feature hierarchies for accurate object detection and semantic segmentation