将多个线程执行的函数放入队列

时间:2015-04-22 16:01:40

标签: java multithreading queue

我目前正在Java中创建一个库模拟器。这个库有多个借用者,它们是线程。 每个借款人线程执行一系列功能,例如(创建借阅清单,从图书馆借书,将图书归还图书馆)。在模型类中创建借用者数组,并且每个线程在for循环内启动。我目前在将借用者运行的函数置于一种输出队列中时遇到问题,其中第一个借用者输入的第一个函数运行等。

我的问题是,有没有办法,而不是在每个借用者线程到达它时执行每个函数,将所有线程中的函数放入一个它将完成的输出队列中?

1 个答案:

答案 0 :(得分:0)

我使用BlockingDequeLink,先进先出)修复了类似的问题。 消费者线程从双端队列中弹出第一个Task并对其进行处理。完成后,他会报告并执行下一个任务,依此类推。 其他线程 - 在你的情况下借用者 - 只需将任何任务放入最后一个位置的双端队列。

希望这有帮助!