Можно ли перейти к концу выделенного времени процесса?У меня есть программа, которая работает параллельно над частью общей памяти, и затем все процессы должны ждать завершения других и синхронизации до следующего шага.Каждый процесс будет делать максимум на одну итерацию больше, чем любой другой, поэтому любые временные различия минимальны.
Микросон почти работает, но я уверен, что даже usleep (1) займет больше времени, чем янапример (на данный момент я могу выполнить 5000 раз примерно за 1,5 секунды, так что это добавит к тесту около 20 мс).
Некоторое занятое ожидание кажется плохой идеей, хотя на этом я мог бы закончитьпродолжай.
То, что я действительно хотел бы, это что-то вроде
while(*everyoneDone != 0) {
//give up rest of this time-quantum
}
Это не должно быть в реальном времени, это просто нужно быть быстрым.Любые идеи?
Обратите внимание, что это будет работать на многопроцессорной машине, потому что, если будет работать только одно ядро, существующая однопоточная версия будет работать лучше.