我需要为其他节点创建通道(通道到非线程安全的RabbitMQ节点)。每次用户发送消息时我都无法创建新的频道(它太昂贵,而且RabbitMQ也有一些限制)。因此,我决定创建20个频道并仅使用它们(固定频道如果一段时间未使用则不会关闭)。问题是我必须用一个特殊的逻辑为它编写一个特殊的队列,但如果已经有一个库可以做到这一点会更好。
以下是必须在队列中的简单规则:
1.当用户想要获得一个对象时,他将从队列中获得一个已经创建的对象
2.如果没有可用的对象,则用户将等到他得到一个对象
3.如果用户“A”要求用户“B”之前的对象,则用户“B”将仅在用户“A”之后获得对象。
是否存在此类资源池队列的实现?