我有一个连续接收消息的系统。我需要将这些消息传递到新系统。但我将在这里发送数百万条消息。我想在单独的线程上运行它。在这种情况下,我们可以创建数百万个可运行对象来将任务发布到 ScheduledThreadPoolExecutor 上吗?
最佳答案
我认为没有必要创建数百万个 Runnable 实例。我不知道您系统的其他详细信息,但看起来您可以在收到消息后立即将收到的消息发送到新系统。
如果您希望添加一些抵抗力,那么您应该考虑使用消息队列或数据库来存储收到的消息。这样您就可以防止它们在崩溃/进程退出时丢失。并且应该有一个单独的线程池通过发送到新系统来处理来自该存储(队列或数据库)的消息。
关于java - java中Runnable创建的限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59840737/