JAVA ThreadPool

概述

为了不系统频繁的建立和销毁线程所带来的性能消耗,能够让线程获得很好的复用。当须要线程时从线程池中取,当使用完归还线程。框架

建立线程池方式

建立固定数量的线程池 建立一个数量的线程池 建立根据实际状况调整线程数量的线程池 建立一个执行定时任务的线程池 建立执行定时任务的线程池分布式

任务队列

当任务被提交还没有执行的任务队列是一个BlockingQueue接口对象,只存放Runnable对象,根据队列的功能分为 SynchronousQueue ArrayBlockingQueue LinkedBlockingQueue PriorityBlockingQueue性能

拒绝策略

若是线程池处理速度达不到任务出现速度时,只能执行拒绝策略。 AbortPolicy CallerRunsPolicy DiscardOledestPolicy DiscardPolicy优化

线程数量优化规则

公式进行粗略计算:线程池个数=CPU的数量CPU的使用率(1+等待时间/计算时间).net

Fork/Join

最后看下分而治之:Fork/Join线程

参考资料:

Fork/Join使用对象

分布式框架中使用CompletableFutureblog

相关文章
相关标签/搜索