我有一系列任务在队列中等待处理。这些任务被分配给一组线程。所以我有 3 组线程,每组都有固定数量的线程,假设 A1 组有 4 个线程,A2 有 4 个线程,A3 有 8 个线程。
现在第一个任务转到 A1 组,第二个到 A2 组……等等。所以我现在有 4 个线程处理任务 1 和 4 个处理任务 2 和 8 个处理任务 3。
主要问题是,是否有一个简单的工具可以用来知道一组中的所有线程何时完成处理它们的任务,以便我可以执行一些执行后代码,然后将另一个任务分配给该组?
目前,我通过维护线程组的哈希表手动完成所有这些工作,并且在我的每个线程中,我让它们向其父级发送“死亡信号”。父母正在跟踪组中有多少线程死亡,直到它们全部死亡,一旦全部死亡,我就可以继续。
因此,需要大量维护和调试代码以确保其正常工作需要时间。Java中是否有任何库或内置工具可以执行上述操作?
谢谢。