Считаете, что Ubuntu недостаточно дружелюбна к новичкам? Помогите создать новое Руководство для новичков!
0 Пользователей и 1 Гость просматривают эту тему.
time_t stop_time=time(NULL)+10;while (true){ // какие-то действия. time_t cur_time=time(NULL); if (cur_time >= stop_time) break;}
Код: [Выделить]time_t stop_time=time()+10;while (true){ time_t cur_time=time(); // какие-то действия. if (cur_time >= stop_time) break;}
time_t stop_time=time()+10;while (true){ time_t cur_time=time(); // какие-то действия. if (cur_time >= stop_time) break;}
void op(int sig_num) { longjmp(Env, 1);};int main){ ... signal(SIGALRM, op); alarm(10); if (setjmp(Env) != 0) { goto <делаем что еще нада .. exit(1)>; } while (1) { // какие-то действие, на котором стоит прога. те именно стоит, а не бегает по циклу }}
Тогда Вам понадобятся функции из библиотеки pthreads (pthread_create, pthread_cancel и т.п.), а также alarm или setitimer.
У меня идея такая (проверить смогу только пожже, ибо для проги нужны либы которые есть только на фирме...):
Кто сказал что pthread не портабелен? pthread = POSIX Thread. Знаешь как POSIX расшифровывается? pthread есть на винде http://sourceware.org/pthreads-win32/
Использование потоков усложнит задачу. Основная проблема будет, в их синхронизации. 100 % можно обойтись без них.
А программа, которая "вешает" систему и процессор на 100% - это правильно?!
Страница сгенерирована за 0.066 секунд. Запросов: 25.