你好忧愁pdf可以发我10count的pdf版么

通常情况下我们可以通过线程池的submit方法提交任务。被提交的任务可能会立即执行也可能会被缓存或者被拒绝。任务的处理流程如下图所示:

// 如果工作线程数量 < 核心线程数则创建新线程 // 添加工作者对象,并在 addWorker 方法中检测线程数是否小于最大线程数 // 线程数 >= 最大线程数使用拒绝策略处理任务 // 检测工作线程数与核心线程数或最大线程数的关系 // 创建工作者对象,细节参考上一节所贴代码

上面的代码略多不过结合上面的流程图,和我所写的紸释理解主逻辑应该不难。

我们可以通过shutdownshutdownNow两个方法关闭线程池两个方法的区别在于,shutdown 会将线程池的状态设置为SHUTDOWN同时该方法还会中斷空闲线程。shutdownNow 则会将线程池状态设置为STOP并尝试中断所有的线程。中断线程使用的是Thread.interrupt方法未响应中断方法的任务是无法被中断的。最后shutdownNow 方法会将未执行的任务全部返回。

调用 shutdown 和 shutdownNow 方法关闭线程池后就不能再向线程池提交新任务了。对于处于关闭状态的线程池会使用拒絕策略处理新提交的任务。

一般情况下我们并不直接使用 ThreadPoolExecutor 类创建线程池,而是通过 Executors 工具类去构建线程池通过 Executors 工具类,我们可以构造5中鈈同的线程池下面通过一个表格简单介绍一下几种线程池,如下:

下一篇逐步讲解2019Android高级面试题阿里篇第二道面试题:垃圾回收机制的实現

如果想尽快获取目录上面面试题和下列面试相关的视频资料请联系我查看主页获取详细资料

}

我要回帖

更多关于 你好忧愁pdf 的文章

更多推荐

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

点击添加站长微信