在完成其他几项任务而没有让单独的线程等待它们之后,是否有传统的方法来运行任务?
答案 0 :(得分:3)
我会使用parallelStream在继续之前执行任务(所以不要等待)
tasks.parallelStream().forEach(Runnable::run);
doSomething();
答案 1 :(得分:0)
定义优先级阻止队列,让所有任务实现可比较的接口。将要运行的所有任务添加到prority队列,这将确保具有更高优先级的任务将位于顶部......继续轮询队列.....现在在优先级较高的任务的情况下没有被添加到队列中,但你仍然希望你的任务在更高优先级的任务之后运行.....你的任务是用一个布尔方法实现一个接口,如果任务应该运行,它将返回true .....输出你的运行条件.......在轮询运行条件为false时将任务添加回优先级队列并继续轮询。