Я хочу определить временные интервалы в C.
Например, я хочу выполнить некоторую задачу каждые 20 секунд; приведенный ниже код подходит для этой задачи?определить временные интервалы в C
для уточнения, наша цель в работе с временными интервалами. например, я хочу читать пакеты каждые 20 секунд, и в конце каждого интервала я хочу изменить некоторые параметры.
double blocktime = 20.000000;
clock_t current, next;
current = clock();
while(trace_read_packet(trace,packet)> 0){
//doing some tasks
next = clock();
if ((double((next - current)/CLOCKS_PER_SEC))== blocktime) // if it is end of the interval do some tasks
{
//doing some task
current = next;
}
}//end of while
и другие вопросы, как я могу определить петли, которые работают со временем?
Что вы хотите сделать? – 2013-04-04 15:11:37
И только что такое «написать код»? – Lundin
На первый взгляд, ваш код, вероятно, будет делать больше или меньше того, что вы хотите (хотя и довольно неэффективно, потому что он работает как безумный), но использование time() вместо clock() немного упростит ваш код. Чтобы сделать вещи более эффективными, нам нужно будет узнать больше о вашей целевой среде и предоставляемых ею объектах (потоки, ...) – fvu