Форум программистов, компьютерный форум, киберфорум
Boost C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/32: Рейтинг темы: голосов - 32, средняя оценка - 4.72
 Аватар для PSIAlt
87 / 87 / 1
Регистрация: 19.06.2012
Сообщений: 245

Непонятка с boost::asio::deadline_timer

09.07.2012, 13:36. Показов 6185. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хелп, не могу понять почему срабатывает таймер при вызове cancel()
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <boost/asio.hpp>
#include <boost/bind.hpp>
#include <boost/date_time/posix_time/posix_time_types.hpp>
 
using namespace boost::asio;
 
void timer() {
    std::cout << "timer() fired!" << std::endl;
}
int main(int argc, char **argv) {
    io_service io;
    deadline_timer keepalive_timer(io);
    keepalive_timer.expires_from_now(boost::posix_time::seconds(100));
    keepalive_timer.async_wait(boost::bind(timer));
    keepalive_timer.cancel();
    io.run();
}
Компилю так: g++ -lboost_system -I /usr/local/include -L /usr/local/lib/ timertest.cpp

Суть в том что если запустить, таймер 100секунд не ждет (это верно, т.к. я вызываю cancel() ), но при этом срабатывает его колбек - выводится строчка "timer() fired!". Почему он срабатывает, я же его отменил?...
2
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.07.2012, 13:36
Ответы с готовыми решениями:

Boost::asio::deadline_timer не работает асинхронно
Код void print1(const boost::system::error_code&amp; e) { std::cout &lt;&lt; &quot;Hello, world!\n&quot;; } boost::asio::io_service io; ...

Что означает запись: asio::deadline_timer
как понимать такое выражение? if (timer.expires_at() &lt;= asio::deadline_timer::traits_type::now()) {}

Asio deadline_timer и tcp::socket отослать асинхоронно по tcp по таймеру
Здравствуйте. Цель по tcp соединению отсылать через равные промежутки времени сообщение одно и тоже. Слушать соединение. Цель 2 (не...

2
 Аватар для soon
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
09.07.2012, 14:27
http://www.boost.org/doc/libs/... _wait.html
The handler will be called when:
  • The timer has expired.
  • The timer was cancelled, in which case the handler is passed the error codeboost::asio::error::operation_aborte d.
1
 Аватар для PSIAlt
87 / 87 / 1
Регистрация: 19.06.2012
Сообщений: 245
09.07.2012, 15:19  [ТС]
О, значит надо ловить код ошибки на предмет boost::asio::error::operation_aborted. Подозревал что должно быть чтото такое)
Спасибо
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.07.2012, 15:19
Помогаю со студенческими работами здесь

boost/asio
Кто тестил asio в Вuilder-е? Код использовал отсюда https://www.cyberforum.ru/cpp-beginners/thread329576.html И напоролся сразу...

boost::asio
начал ковырять буст. Возник вопрос с созданием клинт-серверного приложения. Для ознакомления хочу посмотреть простой пример, где сервер...

Boost Asio C++
Добрый день. Юзаю этот ( http://www.boost.org/ ) проект. Нужна помощь с документаций...

Boost.asio
Добрый день. Я только начал знакомство с boost.asio и при использовании примеров с офф.сайта никак не могу разобраться в их работе. Вот...

Boost.Asio не соединяется
Здравствуйте форумчане, недавно начал изучать boost.asio Скомпилил из примеров Server Client, запускаю так *.exe 127.0.0.1 13 это клиент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru