首页 > 解决方案 > 如何在springboot中使用线程来处理生产者-消费者解决方案

问题描述

我浏览了一些Spring 文档以了解如何模拟生产者-消费者解决方案,并且发现Spring可以Threads像这样处理:

在此处输入图像描述

当我想打这种电话Asyncronousnotify所有消费者时,事情开始变得混乱。


到目前为止我的方法没有线程

我有一个@Controller地方可以Synchronous打电话给我database以获取我需要的所有数据。

@GetMapping("/manageEvents")
public String getManage(Model model, HttpServletResponse response) {
 List < Event > events = eventsRepo.findAll();
 model.add("events",events);
 return "manageEvents"
}

manageEvents.html包含对端点的调用Ajax以获取所有 Events的,所以如果有一个新的,我将它显示为pop-up当前登录的User通过JavaScript


目标

正如您可能已经想到的那样,我的目标是将这个 Event添加到Thread Pool并立即显示在我html的中,pop-up并且谁先抓住它,就可以管理它(就像任务分配一样)。

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


我怎样才能通过使用线程来解决这个问题?

标签: javaspringmultithreadingspring-bootproducer-consumer

解决方案


推荐阅读