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根本没有考虑过它,您是指这个例子吗?好消息。祝你好运让我们知道你进展如何。