完成其他几项任务后运行任务

时间:2016-12-29 13:35:50

标签: java concurrency java-8

在完成其他几项任务而没有让单独的线程等待它们之后,是否有传统的方法来运行任务?

2 个答案:

答案 0 :(得分:3)

我会使用parallelStream在继续之前执行任务(所以不要等待)

tasks.parallelStream().forEach(Runnable::run);
doSomething();

答案 1 :(得分:0)

定义优先级阻止队列,让所有任务实现可比较的接口。将要运行的所有任务添加到prority队列,这将确保具有更高优先级的任务将位于顶部......继续轮询队列.....现在在优先级较高的任务的情况下没有被添加到队列中,但你仍然希望你的任务在更高优先级的任务之后运行.....你的任务是用一个布尔方法实现一个接口,如果任务应该运行,它将返回true .....输出你的运行条件.......在轮询运行条件为false时将任务添加回优先级队列并继续轮询。