java - 确定 Java ThreadPoolExecutor 中执行任务的优先级

标签 java multithreading parallel-processing threadpoolexecutor

有没有办法确定 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 - 确定 Java ThreadPoolExecutor 中执行任务的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24531375/

相关文章:

java - 在 IntelliJ 中创建 Java 类时 : is there a wizard/menu to select the package and class to extend from?

C# 并发 - 长时间运行任务的首选方法

java - 并行流和核心数

并行运行 if 循环

c++ - QtConcurrent与成员函数

java - 使用 hibernate-search 在嵌入式实体中实现多个约束

Java : Skip Unicode characters while reading a file

java - 已同步且线程未按预期工作

java - 为什么实例变量在java中有默认值?

java - 停止调用 Oracle 过程的 Java 线程