Здравствуйте, IROV.., Вы писали:
R>>Мне кажется именно в таком виде не получится сделать, т.к. сообщения типизированные. Соотв. не понятно что делать, если функция fooResponse принимает msg1_t, а функция foo_async отсылает в ответ msg2_t. Хотя, бесспорно, встроенная поддержка паттерна "запрос-ответ" очень приятна.
IRO>Именно в таком виде, мы организовали, получается очень и очень удобно и быстро писать асинхронный код. Вправде мы юзаем ICE как сетевое решение, сейчас на клиенте понадобилась асинхроная библиотечка, вот и хочется помочь развить данный проект.
Я не говорю, что это вообще не возможно. Я только сказал, что это не возможно в таком виде, в таком контексте. В таком контексте надо делать в каком-то другом виде.
Здравствуйте, alzt, Вы писали:
A>Здравствуйте, Стэн, Вы писали: A>Из ваших исходников (act_config.h):
Спасибо, что обратили внимание, действительно должно быть по другому.
Признаюсь, что это сделано как заглушка, и в той версии не проверялось, что все будет правильно собираться и работать в виде dll-библиотеки.
Re[6]: [ann] act-o – библиотека асинхронного программировани
Здравствуйте, IROV.., Вы писали:
IRO>>>ну например хочу создать acto обьект который гарантируемо будет процесится в главном потоке С>>Понятно. Я эксперементировал с такой возможностью, но в текущей версии этого действительно нет. В ближайшие пару дней посмотрю, как это можно красиво в писать в существующий интерфейс. IRO>Ждемс
Готов первый прототип. Пока чтобы пощупать, так как он еще не стабильный. Брать можно из svn, как именно читать здесь.
Нововведения следующие:
1. Добавился новый флаг acto::aoBindToThread. Работает только из потоков созданных пользователем самостоятельно, т.е. бесполезно вызывать внутри других объектов:
А каким образом можно проделать следующее:
Есть статическая функция. Необходимо сделать длинное действие. Функция должна подождать окончания этого действия (2 варианта — а. выполняя при этом некоторую свою работу, б. ничего не делая в этот момент, желательно не тратить ресурсы), после чего завершить работу.
?
Варианты с _getch() как-то не очень нравятся.
Re[2]: [ann] act-o – библиотека асинхронного программировани
Здравствуйте, alzt, Вы писали:
A>Здравствуйте, Стэн, Вы писали:
A>А каким образом можно проделать следующее: A>Есть статическая функция. Необходимо сделать длинное действие. Функция должна подождать окончания этого действия (2 варианта — а. выполняя при этом некоторую свою работу, б. ничего не делая в этот момент, желательно не тратить ресурсы), после чего завершить работу. A>?
A>Варианты с _getch() как-то не очень нравятся.
Если вы имеете ввиду (как вариант) задачу о том, как дождаться завершения работы acto-объекта из основного потока, то это будет решено вместе с задачей обсуждаемой сейчас параллельно в этой теме (обработка сообщений из основного потока).