![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 51
hero.fei
这个作者很懒,什么都没留下…
展开
-
使用CountDownLatch踩坑记录
踩坑记录:在方法内部需要异步采用多线程处理不同的任务,待多线程都处理完成时在进行组装返回结果:情景是获取帖子信息时需要补充当前登录用户关注点赞以及发帖用户信息,需要多线程之下,所以在方法内部定义CountDownLatch waiter = new CountDownLatch(3);每次调用完成时都调用waiter.countDown();进行减1操作,总共三个逻辑调用三次,最后调用waiter.await();执行后续组装逻辑。但是执行过程中在线程调用时出现异常,导致waiter.c原创 2021-09-28 20:42:47 · 1093 阅读 · 0 评论 -
Guava异步框架Event-bus在spring中的使用总结
Event-bus使用总结1. 概述guava中EventBus是一个消息处理总线,基于观察者模式设计和实现。主要介绍下在spring框架中如何使用和配置EventBus。EventBus主要分为两种,一种是同步消息总线(EventBus);另一种是异步消息总线(AsyncEventBus)。下面主要以同步消息总线为例来介绍下EventBus和Spring的结合使用。一个消息总线可以支持多种消息的订阅和发送,不同的消息通过类名来区分。消息体使用一个简单的Java DO,本身不需要继...原创 2021-09-04 18:22:21 · 940 阅读 · 0 评论 -
多线程中CountDownLatch计数器的使用
CountDownLatch中count down是倒数的意思,latch则是门闩的含义。整体含义可以理解为倒数的门栓,似乎有一点“三二一,芝麻开门”的感觉。CountDownLatch的作用也是如此,在构造CountDownLatch的时候需要传入一个整数n,在这个整数“倒数”到0之前,主线程需要等待在门口,而这个“倒数”过程则是由各个执行线程驱动的,每个线程执行完一个任务“倒数”一次。总结来说...翻译 2019-11-01 20:53:31 · 362 阅读 · 0 评论 -
ReentrantLockCondition锁与Synchronized在多线程中的使用
生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个进程共享一个公共的固定大小的缓冲区。其中一个是生产者,用于将消息放入缓冲区;另外一个是消费者,用于从缓冲区中取出消息。问题出现在当缓冲区已经满了,而此时生产者还想向其中放入一个新的数据项的情形,其解决方法是让生产者此时进行休眠,等待消费者从缓冲区中取走了一个或者多个数据后再...原创 2018-12-04 10:34:02 · 221 阅读 · 0 评论 -
java中Future的应用
Future接口是Java标准API的一部分,在java.util.concurrent包中。Future接口是Java线程Future模式的实现,可以来进行异步计算。有了Future就可以进行三段式的编程了,1.启动多线程任务2.处理其他事3.收集多线程任务结果。从而实现了非阻塞的任务调用。在途中遇到一个问题,那就是虽然能异步获取结果,但是Future的结果需要通过isdone来判断是否有结果,...翻译 2018-07-06 20:42:03 · 1501 阅读 · 0 评论 -
java8中多线程异步调用方法CompletableFuture的特性及方法
在java8以前,我们使用java的多线程编程,一般是通过Runnable中的run方法来完成,这种方式,有个很明显的缺点,就是,没有返回值,这时候,大家可能会去尝试使用Callable中的call方法,然后用Future返回结果,如下:public static void main(String[] args) throws Exception { ExecutorServ...原创 2019-03-30 14:50:12 · 1357 阅读 · 0 评论 -
熔断与降级机制HYSTRIX
服务熔断: 服务熔断的作用类似于我们家用的保险丝,当某服务出现不可用或响应超时的情况时,为了防止整个系统出现雪崩,暂时停止对该服务的调用。 服务降级: 服务降级是从整个系统的负荷情况出发和考虑的,对某些负荷会比较高的情况,为了预防某些功能(业务场景)出现负荷过载或者响应慢的情况,在其内部暂时舍弃对一些非核心的接口和数据的请求,而直接返回一...原创 2019-06-29 14:54:22 · 2217 阅读 · 0 评论