![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程池
文章平均质量分 63
刹那的娜娜
这个作者很懒,什么都没留下…
展开
-
四种线程池拒绝策略
一、前言线程池,相信很多人都有用过,没用过相信的也有学习过。但是,线程池的拒绝策略,相信知道的人会少许多。二、四种线程池拒绝策略当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize时,如果还有任务到来就会采取任务拒绝策略,通常有以下四种策略:ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。 ThreadPoolExecutor.DiscardPolicy:丢弃任务,但是不抛原创 2021-02-25 11:25:22 · 1443 阅读 · 0 评论 -
深入理解Java自带的线程池和缓冲队列
前言线程池是什么线程池的概念是初始化线程池时在池中创建空闲的线程,一但有工作任务,可直接使用线程池中的线程进行执行工作任务,任务执行完成后又返回线程池中成为空闲线程。使用线程池可以减少线程的创建和销毁,提高性能。举个例子:我是一个包工头,代表线程池,手底下有若干工人代表线程池中的线程。如果我没接到项目,那么工人就相当于线程池中的空闲线程,一但我接到了项目,我可以立刻让我手下的工人去工作,每个工人同一时间执行只执行一个工作任务,执行完了就去执行另一个工作任务,知道没有工作任务了,这时工人就可以原创 2021-02-25 11:24:17 · 873 阅读 · 0 评论 -
并发编程之Semaphore原理与应用
点赞再看,养成习惯,公众号搜一搜【一角钱技术】关注更多原创技术文章。本文GitHuborg_hejianhui/JavaStudy已收录,有我的系列文章。前言控制并发流程的工具类,作用就是帮助我们程序员更容易的让线程之间合作,让线程之间相互配合来满足业务逻辑。比如让线程A等待线程B执行完毕后再执行等合作策略。控制并发流程的工具类主要有:类 作用 说明 Semaphore 信号量,可以通过控制“许可证”的数量,来保证线程之间的配合 线程只有拿到“许可...原创 2021-01-11 09:11:58 · 969 阅读 · 0 评论 -
分布式锁的3种实现(数据库、缓存、Zookeeper)
分布式锁的几种实现方式目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们,任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致性来换取系统的高可用性,系统往往只需要保证“最终一致性”,只要这个最终时间是在用转载 2020-12-22 15:36:50 · 136 阅读 · 0 评论 -
理解new Thread的弊端及Java四种线程池的使用
1.new Thread的弊端执行一个异步任务你还只是如下new Thread吗?new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }).start();说说弊端:a. 每次new Thread新建对象性能差。b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多原创 2020-08-18 08:50:08 · 1082 阅读 · 0 评论