如何防止洪水

时间:2010-12-17 20:26:52

标签: java flooding

我已经制作了我的IRC机器人,我遇到了洪水问题。我正在试图找出一种方法来消除这些消息,所以如果10个人同时执行一个命令,它就不会过多地淹没机器人。我该怎么做?我正在考虑实施一个队列,但我不确定在那之后去哪里。

我没有为这个机器人使用任何框架,也不想切换到任何框架(除非它非常容易)。

2 个答案:

答案 0 :(得分:2)

当然,你可以使用队列。

让一个线程将东西放在队列中,让另一个线程以很好的速度处理队列中的项目。它是经典consumer / producer pattern的一个实例。

请确保在洪水过度的情况下,不要让你的队列耗尽所有记忆。 (例如,如果队列已满,您可以删除消息。)

答案 1 :(得分:0)

java.util.concurrent可能有你想要的。例如Executor或仅仅是BlockingQueue。