Как изменяется выполнение программы, при использовании интервального таймера с различными временными интервалами в ОС Linux? Есть некая программа, в которой используется интервальный таймер. Как я понял, данный таймер нужен для отсчета промежутка времени, по истечении которого процессу передается определенный сигнал (SIGALRM, SIGVTALRM, SIGPROF). В коде я изменяю временной промежуток таймера типа ITIMER_REAL: 100мс, 300мс, 500мс, компилирую, выполняю с выводом результата в файл. Итого выходит 3 одинаковых по размеру файла, соответственно, с одинаковым содержимым (100 итераций стишка). Вопрос: Что должно измениться в выводе программы? Или, может должно измениться время выполнения программы?#include
#include
#include
#include
#include
#include
void timer_handler (int signum)
{
static int count=0;
printf("\nТаймер протикал %d раз\n\n",++count);
if(count>=100)
exit(0);
}
int main()
{
int i;
struct sigaction sa;
struct itimerval timer;
char stix1[]={"У попа была собака,"};
char stix2[]={"он ее любил."};
char stix3[]={"Она съела кусок мяса,"};
char stix4[]={"он её убил."};
char stix5[]={"Схоронил ее под камнем,"};
char stix6[]={"а на камне написал:"};
memset(&sa,0,sizeof(sa));
sa.sa_handler=&timer_handler;
sigaction(SIGALRM,&sa,NULL);
/* Timer activate within 500 millisecond...*/
timer.it_value.tv_sec=0;
timer.it_value.tv_usec=500000;
/*...and will be activated within other 500 milliseconds*/
timer.it_interval.tv_sec=0;
timer.it_interval.tv_usec=500000;
/* Begin of virtual timer.*/
setitimer(ITIMER_REAL,&timer,NULL);
do
{
sleep(1);
for(i=0;i printf("%c",stix1[i]);
printf("\n");
for(i=0;i printf("%c",stix2[i]);
printf("\n");
for(i=0;i printf("%c",stix3[i]);
printf("\n");
for(i=0;i printf("%c",stix4[i]);
printf("\n");
for(i=0;i printf("%c",stix5[i]);
printf("\n");
for(i=0;i printf("%c",stix6[i]);
printf("\n");
}
while(1);
}

21 Авг 2019 в 06:19
184 +1
0
Ответы
1

При изменении временного интервала таймера ITIMER_REAL программа будет выводить стихи с разными промежутками времени между строками. Например, если установлен временной интервал 100мс, то строки стихотворения будут выводиться быстрее, чем при установке временного интервала 500мс.

Таким образом, при изменении временного интервала выполнение программы может стать более динамичным или наоборот, более медленным в зависимости от времени, установленного для таймера. Вывод программы будет соответствовать данным временным интервалам, что может повлиять на восприятие пользователем работы программы.

20 Апр в 13:20
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир