I am trying to learn about timer for posix. I am using the linux man page for an example. The man page create the timer then uses sleep to put the timer to sleep. Why create a timer if you use sleep? Here is the code from the man page
    if (timer_create(clockid, &sev, &timerid) == -1) {
    errExit("timer_create");
}
freq_nanosecs = atoll(argv[2]);
       its.it_value.tv_sec = freq_nanosecs / 1000000000;
       its.it_value.tv_nsec = freq_nanosecs % 1000000000;
       its.it_interval.tv_sec = its.it_value.tv_sec;
       its.it_interval.tv_nsec = its.it_value.tv_nsec;
       /* Sleep for a while; meanwhile, the timer may expire
          multiple times */
 if (timer_settime(timerid, 0, &its, NULL) == -1)
     errExit("timer_settime");
       printf("Sleeping for %d seconds\n", atoi(argv[1]));
       sleep(atoi(argv[1]));