单顶点中的合作和非合作“处理器”
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 个处理器。
Processor
可以在单个顶点中既是合作的又是非合作的吗?因为协同性是Processor
的属性,而ProcessorSupplier
不需要returnProcessor
同类型。或者是?
这个用例很奇怪而且可以避免,但只是想知道...
给出 ExecutionService
中的代码:
Map<Boolean, List<Tasklet>> byCooperation =
tasklets.stream().collect(partitioningBy(Tasklet::isCooperative));
并给出 ProcessorTasklet::isCooperative
的实施:
return processor.isCooperative();
处理器的每个单独实例都将根据其协作性进行处理。执行服务实际上并不关心哪些微线程属于同一个顶点,而是根据其合作声明来处理每个微线程。
简而言之:是的,您可以为同一个顶点混合使用 cooperative/noncooperative 个处理器。