Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Программирование под Unix/Linux > pthread_mutex_timedlock - ожидание в миллисекундах |
Автор: vdm 28.10.2012, 17:07 |
Привет. Возможно используя ф-цию http://linux.die.net/man/3/pthread_mutex_timedlock задать время ожидания в миллисекундах? Если да, тогда как обойти возможное переполнение? |
Автор: boostcoder 29.10.2012, 13:38 |
вопрос какой-то глупый. функция и так принимает время в микросекундах. в чем вопрос? |
Автор: vdm 30.10.2012, 01:17 | ||||
Ситуация следующая: Имеется функция для перекрытия мутекса с ожиданием в миллисекундах. Также в ней присечена возможность переполнения значения timeout.tv_nsec - что за переполнение говорится здесь: http://linux.die.net/man/3/pthread_mutex_timedlock. Всё бы и ничего, но посмотрев на количество математических вычислений в этой функции, ненароком задумываешся => одни только вычисления чего стоят процессору... а время ожидания иногда требуется указать всего-то 10 миллисекунд... Вообщем есть идеи как упразднить вычисления и при этом получить тот же результат: время для задержки в миллисекундах с предотвращением переполнения параметра timeout.tv_nsec?
|
Автор: boostcoder 30.10.2012, 08:46 |
страшно жить ![]() уверяю Вас, все вычисления в этой функции до вызова pthread_mutex_timedlock(), займут не более 1 мкс. Си, это не php и не ruby ;) Добавлено @ 08:48 и это с учетом сискола gettimeofday(). без него, и 30 нс. более чем достаточно. |
Автор: vdm 30.10.2012, 11:22 |
Подумал, может у кого-нибудь возникнет более оптимизированый вариант... |