单顶点中的合作和非合作“处理器”

Cooperative and non-cooperative `Processor`s in single vertex

Processor可以在单个顶点中既是合作的又是非合作的吗?因为协同性是Processor的属性,而ProcessorSupplier不需要returnProcessor同类型。或者是?

这个用例很奇怪而且可以避免,但只是想知道...

给出 ExecutionService 中的代码:

Map<Boolean, List<Tasklet>> byCooperation = 
     tasklets.stream().collect(partitioningBy(Tasklet::isCooperative));

并给出 ProcessorTasklet::isCooperative 的实施:

return processor.isCooperative();

处理器的每个单独实例都将根据其协作性进行处理。执行服务实际上并不关心哪些微线程属于同一个顶点,而是根据其合作声明来处理每个微线程。

简而言之:是的,您可以为同一个顶点混合使用 cooperative/noncooperative 个处理器。