![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| cthutq |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
в потоке использую
нифига не работает. Почему ? |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 1 Всего: 20 |
cthutq,
Сразу скажу, бустом не пользовался. Но с подобной проблемой встречался. Посмотри доки на бустовский слип. Тебе нужно знать, в каких еденицах он работает, микросекунды или милисекунды. |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Неправильное использование структуры xtime. В текущей версии Boost.Thread используется этот не очень удобный и ктому же несколько платформозавсимый тип (сами разработчики в доках обещают когда-нибудь заменить его на более робустный тип, который должен появиться в бусте).
Делаем так:
Т. е. всегда вначале вызываем boost:xtime_get, ей передаём указатель на структуру и енумовскую константу boost::TIME_UTC. Этот енум в текущей версии (1.33.1) имеет только одно значение (TIME_UTC). После такого шаманства добавляем к полям sec и nsec нужное время. Усё. |
|||
|
||||
| cthutq |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
да - как-то странно
более того xtime имеет sec и nsec. Но слип как правилт исльзуется в msec получается что надо постоянно переводить из msec в sec и nsec ? |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
В папочке буста можно найти файл libs\thread\test\util.inl, в нём есть функция delay, принимающая три параметра - секунды, милисекунды и наносекунды (2 последних по дефолту - 0), возвращает xtime. Можно внаглую копирнуть и юзать эту функцию. Удобно, хотя на мой взгляд был смысл сделать её конструктором xtime. Тогда проехало такое
Как вариант - создать собственный класс (наследуемый) с таким конструктором. Другой вариант - написать в комитет буста с предложением |
|||
|
||||
| cthutq |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
кстати - работает если тользо задавать в sec. Если еще добавляю и nsec - не работает
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Если посмотреть на файлик, указанный мною выше имеем: xtime.nsec = nsec, а не +=. Глупо, как-то, но что сделаешь
|
|||
|
||||
| cthutq |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
да - есть такое. Но не накладно ли возвращать по значению ? все-таки потоки |
|||
|
||||
| cthutq |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 16.4.2006 Репутация: нет Всего: нет |
спасибо - вроде заработало
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |