![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
vdm |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 16.10.2007 Репутация: нет Всего: нет |
Привет.
Возможно используя ф-цию pthread_mutex_timedlock задать время ожидания в миллисекундах? Если да, тогда как обойти возможное переполнение? |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
вопрос какой-то глупый. функция и так принимает время в микросекундах.
в чем вопрос? |
|||
|
||||
vdm |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 16.10.2007 Репутация: нет Всего: нет |
Ситуация следующая: Имеется функция для перекрытия мутекса с ожиданием в миллисекундах. Также в ней присечена возможность переполнения значения timeout.tv_nsec - что за переполнение говорится здесь: читать код возврата EINVAL. Всё бы и ничего, но посмотрев на количество математических вычислений в этой функции, ненароком задумываешся => одни только вычисления чего стоят процессору... а время ожидания иногда требуется указать всего-то 10 миллисекунд... Вообщем есть идеи как упразднить вычисления и при этом получить тот же результат: время для задержки в миллисекундах с предотвращением переполнения параметра timeout.tv_nsec?
|
||||
|
|||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
страшно жить ![]() уверяю Вас, все вычисления в этой функции до вызова pthread_mutex_timedlock(), займут не более 1 мкс. Си, это не php и не ruby ;) Добавлено @ 08:48 и это с учетом сискола gettimeofday(). без него, и 30 нс. более чем достаточно. Это сообщение отредактировал(а) boostcoder - 30.10.2012, 08:52 |
|||
|
||||
vdm |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 236 Регистрация: 16.10.2007 Репутация: нет Всего: нет |
Подумал, может у кого-нибудь возникнет более оптимизированый вариант...
Это сообщение отредактировал(а) vdm - 30.10.2012, 11:24 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |