![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术学习
学习自己接触较少的优秀架构和技术知识,不断给自己充电
晓江-AL
猜到开始,没猜到结局,最期待的成为不是结局的结局
展开
-
并发线程池相关
并发下线程池的使用创建线程池线程池的处理逻辑线程池队列线程池的拒绝策略线程的提交方式(有无需要结果返回) 创建线程池 线程池创建的好处是减少在创建和销毁线程上所消耗的时间和资源,解决资源不足的问题,通过继承thread类,实现runable接口或者callable接口开启线程,容易造成同类线程的大量创建、从而导致消耗完内存或者过度切换问题。 ThreadPoolExecutor是阿里开发手册和诸多开发者推荐使用创建线程池的,因为可以使初学者对线程池的运行规则更加明确,规避资源耗尽的风险,有些同学,也比较习惯原创 2020-07-22 15:06:13 · 117 阅读 · 0 评论 -
cpu密集型和io密集型应用,线程池使用时大小的设计
1、cpu密集型,多是运算型应用,io操作较少,主要消耗cpu资源,此时若开启多个线程,容易造成频繁的cpu上线文切换,增加额外时间消耗,顾线程数=cpu核心数+/-1比较合适。 2、io密集型,读写比较频繁,考虑阻塞、非阻塞、同步、异步等Io操作,CPU消耗很少,任务的大部分时间都在等待IO操作完成(因为IO的速度远远低于CPU和内存的速度),增加线程数量可以充分利用cpu空闲时间片段,提高程序想用速率。网上对其线程池核心线程数大小有两种说法,第一种,线程数=cpu核数/(1-阻塞系数),阻塞系数大小范原创 2020-07-22 11:43:43 · 1110 阅读 · 0 评论