在Java中实现多个队列和单线程

时间:2013-07-21 21:15:13

标签: java multithreading queue

使用Java我需要实现以下架构: 队列中有多个队列连续进入作业。根据调度算法,有一个线程从队列中获取作业。我应该能够编写自己的调度算法。 你能告诉我用哪个Java API来实现它吗? 我使用过ThreadPoolExecutor,但有了这个,我可以实现一个作业队列和一个包含多个线程的线程池。 提前谢谢!

1 个答案:

答案 0 :(得分:3)

使用多个并发队列和一个信号量。在生产者中,推送对象并发信号通知信号量。在一个消费者中,等待“公共”信号量,然后根据您的调度算法轮询队列 - 其中一个必须有一个对象。