JUC-840资源谁有资源给个吗

在前面一章""中介绍了线程池的数據结构本章会通过分析线程池的源码,对线程池进行说明内容包括:

在分析线程池之前,先看一个简单的线程池示例

(一) 创建“线程池”

说明:该函数实际上是调用ThreadPoolExecutor的另外一个构造函数。该函数的源码如下:

handler是ThreadPoolExecutor中拒绝策略的处理句柄所谓拒绝策略,是指将任务添加到線程池中时线程池拒绝该任务所采取的相应策略。

(二) 添加任务到“线程池”

说明execute()的作用是将任务添加到线程池中执行它会分为3种情況进行处理

"核心池大小",并且"线程池是允许状态";此时则将任务添加到阻塞队列中阻塞等待。在该情况下会再次确认"线程池的状态",如果"第2次读到的线程池状态"和"第1次读到的线程池状态"不同则从阻塞队列中删除该任务。        情况3 -- 非以上两种情况在这种情况下,尝试新建一个线程并将该任务添加到线程中进行执行。如果执行失败则通过reject()拒绝该任务。

addWorker()会先通过for循环不断尝试更新ctl状态ctl记录了"线程池中任务数量和线程池状态"。    更新成功之后再通过try模块来将任务添加到线程池中,并启动任务所在的线程

    从addWorker()中,我们能清晰的发现:线程池在添加任务时会创建任务对应的Worker对象;而一个Workder对象包含一个Thread对象。(01) 通过将Worker对象添加到"线程的workers集合"中从而实现将任务添加到线程池中。 (02) 通过启动Worker对应的Thread线程则执行该任务。

补充说明一点submit()实际上也是通过调用execute()实现的,源码如下:

(三) 关闭“线程池”

说明:shutdown()的作用是关闭線程池


}
海贼王840集百度云资源在线看_航海迋全集资源工宗号:小天电影回海贼王... 海贼王840集百度云资源在线看_航海王全集资源工宗号:小天电影 回 海贼王

下载百度知道APP抢鲜体验

使鼡百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 谁有资源给个 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信