问题描述
- java 需要做一个连接池。但是不是数据库的,而是类似于一个接口(或者IP地址)
- 具体场景如下:
对方提供多个计算服务器供我来调用,计算服务器只能同时计算2个任务。
现在我需要将计算服务器做成可以配置的,然后将任务排队。根据先进先出的原则。
如果所有服务器都在计算任务了。剩下的任务就需要排队了。而计算完成后,在去任务池中取任务。直到任务池的所有任务都处理玩了。
解决方案
使用JDK的线程池【Executors#newFixedThreadPool(2) 】,同时并行两个任务,其他的都在等待(无限队列),
并行任务中1个实行完毕,自动从队列中取一个执行。
解决方案二:
可以靠用NIO实习实现,ServerSocketChannel
解决方案三:
省事的话直接用common-pool。能用就成,错了来一个
解决方案四:
描述的不是很清楚,你是不是要做一个可配置化的队列
时间: 2024-10-30 07:04:47