java - 限制在 java 中创建 Runnable
问题描述
我有一个不断接收消息的系统。我需要将这些消息传递给新系统。但是我将在这里发送数百万条消息。我想在一个单独的线程上运行它。在那种情况下,我们可以创建数百万个可运行的对象来将任务发布到 ScheduledThreadPoolExecutor 上吗?
解决方案
我认为没有必要创建数百万个 Runnable 实例。我不知道您系统的其他详细信息,但看起来您可以在收到消息后立即将收到的消息发送到新系统。
如果您希望增加一些抵抗力,那么您应该考虑使用消息队列或数据库来存储接收到的消息。这样,您将防止它们在崩溃/进程退出的情况下丢失。并且一个单独的线程池应该通过发送到一个新系统来处理来自这个存储(队列或数据库)的消息。
推荐阅读
- c# - C# 将 \x 添加到文本格式字符串中的十六进制字节
- c++ - 递归中的 C++ 线程无法正常工作
- ruby-on-rails - Rails Duplicate key 错误:如何告诉 Rails 继续使用数据库中的 ID
- jquery - 在 Laravel 中刷新页面后保留下拉列表中的动态值
- javascript - 将一个对象数组缩减为另一个数组,其中每个对象的 id 属性在 Javascript 中都是唯一的
- c++ - 根据输入从一种类型转换为另一种类型
- karate - 关于空手道 UI 测试自动化,我如何在使用 karate-chrome 时上传文件?
- r - 如何在字符向量列表上使用 seqinr::computePI
- flutter - 检测 Scrollable 小部件是手动滚动还是以编程方式滚动
- android-studio - 如何在 Android Studio 4.1 中恢复构建窗口