Кооперативный и некооперативный `Процессор в одной вершине

Могут ли Processors быть как кооперативными, так и некооперативными в одной вершине? Поскольку кооперативность является свойством Processor, и ProcessorSupplier не требуется, чтобы возвращать Processor того же типа. Либо это?

Вариант использования этого странный, и его можно избежать, но просто интересно ...


person Oliv    schedule 10.02.2017    source источник


Ответы (1)


Учитывая этот код в _ 1_:

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

и учитывая реализацию _ 3_:

return processor.isCooperative();

каждый отдельный экземпляр процессора будет обрабатываться в соответствии с его совместимостью. Служба выполнения на самом деле не заботится о том, какие тасклеты принадлежат одной и той же вершине, и обрабатывает каждый в соответствии с его декларацией кооперативности.

Вкратце: да, у вас может быть сочетание кооперативных / некооперативных процессоров для одной и той же вершины.

person Marko Topolnik    schedule 10.02.2017