Если это C, почему бы не использовать setitimer () и SIGALRM ?
Что setitimer () делает это, через определенный интервал (который можно указать с точностью до миллисекунды) запускает сигнал SIGALRM. Затем вы можете настроить свою программу так, чтобы она имела функцию, которая реагирует на этот сигнал.
Функция alarm () выполняет ту же функцию, что и setitimer (), но alarm () работает только с интервалами в 1 секунду (не 1,5 секунды и т. Д.) для того, как обрабатывать прерывание. Используя этот метод, вы можете сэкономить много времени для расчета кода.