【发布时间】:2014-08-23 06:13:40
【问题描述】:
有没有办法在 Java ThreadPoolExecutor 中优先执行任务?我面临的问题是,当基于相同的指定执行标识符时,需要按顺序执行线程。
它们都被提交到同一个 ThreadPoolExecutor,但由于处理延迟,任务 A2 可能在任务 A1 之前完成(具有相同的执行标识符)。它们应遵循与进入时相同的顺序,同时不阻止其他任务(具有不同的执行标识符)执行(例如 B1、B2、C1 等)。
是否有处理此类问题的通用模式?例如,任务A1、B1、B2、A2、C1进入池进行处理。它们应按以下方式处理:
A1
B1
B2(如果B1已经完成,否则等B1完成,A2或C1轮流执行)
A2(如果A1已经完成,否则等到A1完成,B2如果还没有开始,或者C1轮流)
C1
【问题讨论】:
标签: java multithreading parallel-processing threadpoolexecutor