1.线程:
线程是资源调度的最小单位。
2.线程的五种状态:
新建、就绪、运行、等待、死亡
3.ThreadPoolExecutor学习
coprePoolSize:核心线程数量 (有线程就放在里面执行,即便有线程是空闲的,也创建新的线程)
maximumPoolSize:最大线程数 (当workQueue满了才会创建新的线程执行)
workQueue:阻塞队列,存储等待执行的任务,线程池满的时候未执行的线程会放在workQueue中
keepAliveTime:线程没有任务执行时最多保持多久时间终止(核心线程中的线程空闲时间)
threadFactory:线程工厂,用来创建线程
rejectHandler:拒绝策略 workQueue满了.线程池满了,再有新线程提交(有四种策略1,直接抛出异常(默认);2,用调用者所在的线程执行任务;3,丢弃阻塞队列中靠最前的任务;4,直接丢弃)
4.高并发的解决方案
1)静态化数据
2)使用消息队列
3)使用缓存
4)数据分库分表、表结构优化、索引优化等
5)分布式架构
原文:https://www.cnblogs.com/kkyl/p/11612845.html