是否有优先级将任务添加到TPL运行时的任何先前工作?
一般来说,如果没有,我将如何实施?
理想情况下,我计划使用生产者-消费者模式将“待办事项”工作添加到TPL。有时我发现低优先级的工作需要升级为高优先级的工作(相对于其他工作)。
如果有人在搜索时需要使用一些搜索关键字,请提及它们,因为我尚未找到满足我需要的代码。
ParallelExtensionsExtras contains several custom TaskScheduler
s可能直接或作为您自己的调度程序的基础都可能有用。
因此,这是一个围绕天真的优先级队列的天真的并发实现。这里的想法是有一个排序的集合,既保留了真实项目又包含了优先级对,但是给了一个比较器,用于比较优先级。构造函数采用一个函数来计算给定对象的优先级。
我已经实现了优先级FIFO任务队列。它非常简单,可以像具有优先级的ActionBlock一样工作。