Выключение таймера в определенное время в процессе C ++ для синхронизации двух процессов - PullRequest
0 голосов
/ 16 октября 2019

У меня есть два процесса в C ++ (это не родительские и дочерние процессы). Каждый из них был прикреплен к определенному ядру с помощью taskset. Так, например, процесс 1 прикреплен к ядру 0, а процесс 2 - к ядру 1. Я хочу запустить их в одно и то же время (с точностью до микросекунды).

timer_create позволяет выполнять некоторый код с указанной частотой. Тем не менее, он не предоставляет механизм для запуска в определенное время. Как лучше всего настроить время запуска таким образом, чтобы часть кода в обоих процессах начиналась в это конкретное время, а затем повторялась с определенной частотой?

1 Ответ

0 голосов
/ 16 октября 2019

лучшие способы будут очень системными и зависимыми от ОС. Лучший общий способ, который я могу придумать, состоит в том, чтобы блокировать обе задачи на счетном семафоре и использовать третью задачу для ожидания по таймеру и запуска семафора с желаемой скоростью. требуемая степень точности будет сложной, если вы не используете rtos.

...