0

我已经制作了 IRC 机器人,但遇到了泛滥的问题。我正在尝试找出一种将消息隔开的方法,因此如果 10 个人同时执行一个命令,它不会过度淹没机器人。我该怎么做?我正在考虑实施一个队列,但我不确定在那之后去哪里。

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

4

2 回答 2

1

当然,您可以使用队列。

让一个线程将东西放入队列,让另一个线程以良好的速度处理队列中的项目。这是经典消费者/生产者模式的一个实例。

只要确保在过度泛滥的情况下不要让队列耗尽所有内存。(例如,如果队列已满,您可以只丢弃消息。)

于 2010-12-17T20:30:55.747 回答
0

java.util.concurrent 可能有你想要的。例如,一个 Executor 或只是一个 BlockingQueue。

于 2010-12-17T21:48:29.593 回答