摘要:
1. 概述 在本文中,我们将研究java.util.concurrent包中的DelayQueue构造。这是一个阻塞队列,可用于生产者-消费者程序。 它有一个非常有用的特性——当消费者想要从队列中获取一个元素时,他们只能在该特定元素的延迟到期时获取它。 2. 为延迟队列中的元素实现延迟 我们要放入D 阅读全文
posted @ 2023-02-22 11:17
JackYang
阅读(171)
评论(0)
推荐(0)
摘要:
1. 概述 软件组件的解耦是软件设计中最重要的部分之一。实现此目的的一种方法是使用消息传递系统,它提供组件(服务)之间的异步通信方式。在本文中,我们将介绍其中一个系统:RabbitMQ。 RabbitMQ 是一个实现高级消息队列协议 (AMQP) 的消息代理。它为主要编程语言提供客户端库。 除了用于 阅读全文
posted @ 2023-02-22 11:09
JackYang
阅读(108)
评论(0)
推荐(0)
摘要:
1. 概述 在本教程中,我们将探索使用 Spring AMQP 框架通过 AMQP 进行基于消息的通信。首先,我们将介绍消息传递的一些关键概念。然后,我们将继续一个实际示例。 2. 基于消息的通信 消息传递是一种在应用程序之间进行通信的技术。它依赖于异步消息传递,而不是基于同步请求响应的体系结构。消 阅读全文
posted @ 2023-02-22 11:03
JackYang
阅读(308)
评论(0)
推荐(0)
摘要:
1. 简介 异步消息传递是一种松散耦合的分布式通信,在实现事件驱动体系结构方面越来越流行。幸运的是,Spring框架提供了 SpringAMQP 项目,允许我们构建基于AMQP的消息传递解决方案。 另一方面,在此类环境中处理错误可能是一项艰巨的任务。因此,在本教程中,我们将介绍处理错误的不同策略。 阅读全文
posted @ 2023-02-22 10:53
JackYang
阅读(305)
评论(0)
推荐(0)
摘要:
1. 简介 在多进程并发环境中,多个进程可能会争用一组有限的资源。如果进程请求资源,而该资源当前不可用,则进程将等待该资源。有时,此等待过程永远不会成功访问资源。这种对资源的等待会导致三种情况——死锁、活锁和饥饿。 在本教程中,我们将讨论这三个条件。 2. 死锁 在本节中,我们将首先讨论死锁、其必要 阅读全文
posted @ 2023-02-22 10:37
JackYang
阅读(468)
评论(0)
推荐(0)
摘要:
1. 概述 虽然多线程有助于提高应用程序的性能,但它也带来了一些问题。在本教程中,我们将在 Java 示例的帮助下研究两个这样的问题,死锁和活锁。 2. 死锁 2.1. 什么是死锁? 当两个或多个线程永远等待另一个线程持有的锁或资源时,就会发生死锁。因此,应用程序可能会停止或失败,因为死锁线程无法进 阅读全文
posted @ 2023-02-22 10:29
JackYang
阅读(470)
评论(0)
推荐(0)
浙公网安备 33010602011771号