Часы и таймеры
Стандартом POSIX-2001 предусмотрены средства, позволяющие создавать для процессов таймеры, которые генерируют уведомления о наступлении заданного момента в виде сигналов реального времени. таймеры полезны, например, для организации периодических процессов.
Чтобы создать для процессов таймер, следует обратиться к функции timer_create().
Для удаления таймера служит функция timer_delete().
Для выполнения содержательных действий с таймерами служат функции timer_gettime(), timer_settime() и timer_getoverrun().
Отметим, что наличие функции timer_getoverrun() позволяет избавиться от неопределенно большого расхода ресурсов на постановку в очередь сигналов реального времени, которые процесс не успевает обрабатывать.
Для приложений реального времени важна возможность использования не только процессорных, но и монотонных часов. В основном из этих соображений в стандарте POSIX-2001 присутствует расширенный аналог рассмотренной в курсе [1] функции nanosleep() – clock_nanosleep().