Java 如何在springboot中使用线程实现生产者-消费者解决方案

Java 如何在springboot中使用线程实现生产者-消费者解决方案,java,spring,multithreading,spring-boot,producer-consumer,Java,Spring,Multithreading,Spring Boot,Producer Consumer,我已经通过一些Spring来了解如何模拟生产者-消费者解决方案,并且我发现Spring可以处理线程,如下所示: 当我想进行这种调用异步和通知所有消费者时,事情开始变得混乱起来 我的方法到目前为止没有线程 我有一个@控制器,我在那里对我的数据库进行同步调用,以获取我需要的所有数据 @GetMapping(“/manageEvents”) 公共字符串getManage(模型模型,HttpServletResponse){ Listevents=eventsRepo.findAll(); 模型。添

我已经通过一些
Spring
来了解如何模拟生产者-消费者解决方案,并且我发现
Spring
可以处理
线程
,如下所示:

当我想进行这种调用
异步
通知所有消费者时,事情开始变得混乱起来


我的方法到目前为止没有线程 我有一个
@控制器
,我在那里对我的
数据库
进行
同步
调用,以获取我需要的所有数据

@GetMapping(“/manageEvents”)
公共字符串getManage(模型模型,HttpServletResponse){
Listevents=eventsRepo.findAll();
模型。添加(“事件”,事件);
返回“manageEvents”
}
manageEvents.html
包含一个对端点的
Ajax
调用,以获取所有新的
事件
,因此如果有新事件,我将通过
JavaScript
弹出窗口
的形式显示给当前登录的
用户


目标 正如您所想,我的目标是将这个新的
事件添加到
线程池中
,并立即在我的
html
中显示为一个
弹出窗口
,谁先获取它,谁就可以管理它(就像任务分配一样)

Spring还提供了一个我可以使用的注释



我如何使用线程来解决这个问题?

我认为你把事情搞混了。当您希望自动将编程任务排队执行时,将使用
ExecutorService
。不涉及用户交互。我看,我应该如何处理?您考虑过服务器发送事件(SSE)吗?客户端订阅服务器端点。当服务器收到新事件时,它可以向所有订阅的客户端发送通知(SSE)。您的客户可以相应地对该事件采取行动。@IanMc根本没有考虑过它,您是指这个例子吗?好消息。祝你好运让我们知道你的情况。我想你把事情搞混了。当您希望自动将编程任务排队执行时,将使用
ExecutorService
。不涉及用户交互。我看,我应该如何处理?您考虑过服务器发送事件(SSE)吗?客户端订阅服务器端点。当服务器收到新事件时,它可以向所有订阅的客户端发送通知(SSE)。您的客户可以相应地对该事件采取行动。@IanMc根本没有考虑过它,您是指这个例子吗?好消息。祝你好运让我们知道你进展如何。