java - 队列来管理函数调用

标签 java asynchronous queue

嘿伙计们,我陷入了一个关键问题。我创建了一个应用程序仪表板。我在仪表板上显示的数据是根据我的业务逻辑创建的。有多种异步触发器可以刷新此数据。这些触发器根据不同的参数进行调用。计时器触发、实体删除、实体添加。所有这些触发器都有不同的功能,可以更新仪表板的数据(请记住,该数据存储在数据库中,即我在仪表板上显示直接从数据库读取的数据)仪表板数据的计算需要一些时间。 现在我的问题是,每当同时调用两个不同的触发器时,它们就会造成数据不一致。例如一个触发器更改数据,另一个触发器也重置它..所以最后我不会得到想要的结果。现在我想确保一次只有一个触发器必须更新数据,而另一个触发器正在等待第一个触发器完成。

我想要的只是将函数调用保留在队列中,如果已经有某个方法正在执行,则等待其完成并调用队列中的下一个方法。

最佳答案

听起来你想要一个 ExecutorService配置为单线程。只需提交每个 Runnable,执行器就会将它们排队等待执行。请参阅this SO question/answer了解更多信息。

关于java - 队列来管理函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16334287/

相关文章:

asynchronous - 如何识别异步串行位流中的起始位

node.js - 服务器之间的队列函数调用由用于 NodeJS 的 Redis 支持

java - 线程队列使用什么设计模式

java - 模拟快餐店的排队和请求服务的程序

java - 使用 java 的高效 LZ4 多文件压缩

针对 XSD 模式的 Java XML 验证

java - 正则表达式读取由引号和分号分隔的行

java - Process.getInputStream() 编码问题

JavaScript 回调同步执行异步调用的问题

ios - 检查来自 Alamofire 和 Swift 的多个异步响应