Имеется однопроцессорная система. Есть несколько однотипных процессов(2 или более). У каждого из процессов есть суперцикл. Нужно сделать так чтобы каждый процесс выполонял весь свой суперцикл только определенное колличество раз и отдавал процессорное время другому процессу. т.е. выполняться они должны последовательно. При этом колличество циклов у разных процессов может быть разным и может меняться с течением времени.
Можно изобразить работу 3-х процессов так:
(***)->(**)->(****)-\
^ |
\____________________/
Вообще на самом деле нет нужды выполнять весь суперцикл без пересечений с суперциклом другого процесса. Выполняться последовательно должен только важный участок кода.
Второй случай когда несколько процессоров или ядер я пока не рассматриваю.