为了不系统频繁的建立和销毁线程所带来的性能消耗,能够让线程获得很好的复用。当须要线程时从线程池中取,当使用完归还线程。框架
建立固定数量的线程池 建立一个数量的线程池 建立根据实际状况调整线程数量的线程池 建立一个执行定时任务的线程池 建立执行定时任务的线程池分布式
当任务被提交还没有执行的任务队列是一个BlockingQueue接口对象,只存放Runnable对象,根据队列的功能分为 SynchronousQueue ArrayBlockingQueue LinkedBlockingQueue PriorityBlockingQueue性能
若是线程池处理速度达不到任务出现速度时,只能执行拒绝策略。 AbortPolicy CallerRunsPolicy DiscardOledestPolicy DiscardPolicy优化
公式进行粗略计算:线程池个数=CPU的数量CPU的使用率(1+等待时间/计算时间).net
最后看下分而治之:Fork/Join线程