1.常用的三个线程池 new SingleThreadExecutor 核心线程一个、最大线程一个、创建后不销毁、无限队列 ...
分类:
编程语言 时间:
2018-12-27 22:56:08
阅读次数:
207
CPU的处理性能保持着高速增长,Intel公司在2017年最新发布的i9-7980XE处理器芯片更是达到了18核心36线程。但与此同时,硬盘设备的性能提升却不是很大,因此逐渐成为当代计算机整体性能的瓶颈。而且,由于硬盘设备需要进行持续、频繁、大量的IO操作,相较于其他设备,其损坏几率也大幅增加,导致 ...
分类:
其他好文 时间:
2018-12-27 20:15:18
阅读次数:
209
一 Executors提供了一系列工厂方法用于创先线程池ThreadPoolExecutor线程池的具体实现类,一般用的各种线程池都是基于这个类实现的 返回的线程池都实现了ExecutorService 接口 二 corePoolSize:线程池的核心线程数,默认情况下可以一直存活。可以通过设置al ...
分类:
编程语言 时间:
2018-12-05 20:57:48
阅读次数:
204
因为需要一些做一些自动编译的工作,所以打算淘换一台多核的主机。淘宝找一圈,感觉换下来的dell R410 ~ R710 都可以。综合对比了一下感觉最低配的R410就能满足要求,最后选择了:X5675*2个12核心24线程、DDR3 24GB内存。总共花了¥1700不到。没有要硬盘,自带的SAS6IR ...
分类:
其他好文 时间:
2018-11-26 02:28:06
阅读次数:
319
执行流程 1, 创建线程池后, 默认不会创建线程, 等到有任务带来才创建线程, 即一个线程处理一个任务 2, 当线程数量达到核心线程数时, 任务放进队列, 如果放入队列失败, 创建新线程处理任务(此时线程池线程数大于核心线程数) 3, 如果线程数大于最大线程数, 执行拒绝策略处理任务 构造方法 参数 ...
分类:
编程语言 时间:
2018-10-28 14:57:25
阅读次数:
194
1线程池的处理流程向线程池提交一个任务后,它的主要处理流程如下图所示一个线程从被提交(submit)到执行共经历以下流程:线程池判断核心线程池里是的线程是否都在执行任务,如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则进入下一个流程线程池判断工作队列是否已满。如果工作队列没有满,则将新提交的任务储存在这个工作队列里。如果工作队列满了,则进入下一个流程。线程池判断其
分类:
编程语言 时间:
2018-10-22 22:47:25
阅读次数:
245
任务类: 线程池1: 结果: 首先填满核心线程数,然后填满队列,然后填满最大线程数。 ...
分类:
编程语言 时间:
2018-10-20 16:15:16
阅读次数:
158
原作地址:https://github.com/frank lam/2019_campus_apply 前言 在本文将总结多线程并发编程中的常见面试题,主要核心线程生命周期、线程通信、并发包部分。主要分成 “并发编程” 和 “面试指南” 两 部分,在面试指南中将讨论并发相关面经。 参考资料: 《Ja ...
分类:
编程语言 时间:
2018-10-10 12:01:06
阅读次数:
204
一、ThreadPoolExecutor的重要参数 corePoolSize:核心线程数 核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关 ...
分类:
编程语言 时间:
2018-09-24 18:31:04
阅读次数:
226
什么是应用服务雪崩? 雪崩问题 分布式系统都存在这样一个问题,由于网络的不稳定性,决定了任何一个服务的可用性都不是 100% 的。当网络不稳定的时候,作为服务的提供者,自身可能会被拖死,导致服务调用者阻塞,最终可能引发雪崩连锁效应。 缓存雪崩 当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样 ...
分类:
其他好文 时间:
2018-09-14 23:09:58
阅读次数:
274