- 博客(3)
- 收藏
- 关注
原创 JAVA线程池的核心参数和拒绝策略
一、线程池核心参数ThreadPoolExecutor最核心的构造方法 :二、线程增长过程三、线程池拒绝策略拒绝策略RejectedExecutionHandler做一下详细的工作:在使用线程池并且使用有界队列的时候,如果队列满了,任务添加到线程池的时候就会有问题,针对这些问题java线程池提供了以下几种策略:(1)AbortPolicy(2)DiscardPolicy(3)DiscardOldestPolicy(4)CallerRunsPolicy(5.
2020-08-18 15:46:36
709
原创 RabbitMq如何保证高可用
rabbitMQ对于高可用是基于主从的方式进行实现. 其有三种工作模式: 单机模式、普通集群模式、镜像集群模式单机模式:生产模式不可能使用.普通集群模式:即在多个服务器上部署多个MQ实例, 每台机器一个实例. 创建的每一个queue,只会存在一个MQ实例上. 但是每一个实例都会同步queue的元数据(即queue的标识信息). 当在进行消费的时候, 就算 连接到了其他的MQ实例上, 其也会根据内部的queue的元数据,从该queue所在实例上拉取数据过来.这种方式只是一个简单的集群,并没有考虑高可
2020-08-18 15:36:08
425
原创 Java 重入锁 ReentrantLock
1.简介可重入锁ReentrantLock自 JDK 1.5 被引入,功能上与synchronized关键字类似。所谓的可重入是指,线程可对同一把锁进行重复加锁,而不会被阻塞住,这样可避免死锁的产生。ReentrantLock 的主要功能和 synchronized 关键字一致,均是用于多线程的同步。但除此之外,ReentrantLock 在功能上比 synchronized 更为丰富。比如 ReentrantLock 在加锁期间,可响应中断,可设置超时等。ReentrantLock 是我们日常使用很频
2020-08-18 15:34:38
79
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人