Asio - requete asynchrone, question
Hello,
Je suis attentiovement le travail qu'a fait Gwenael Dunand (http://gwenael-dunand.developpez.com...cpp/boost/asio). par contre, une question concernant les times asynchrone.
Pour moi, ce que cela signifie, c'est qu'on puisse faire qqch pendant que ca travaille, et que cela ne bloquera pas le script... Mais si je fais ce test:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
void print(const boost::system::error_code& /*error*/) // (3)
{
std::cout << "Terminé !" << std::endl; // (4)
}
int main()
{
boost::asio::io_service io;
boost::asio::deadline_timer t(io, boost::posix_time::seconds(5)); // (1)
t.async_wait(print); // Attente asynchrone (2)
io.run();
std::cout << "En cours !" << std::endl; // (4)
return 0;
} |
Pour moi, cela devrait m'afficher
Or cela m'affiche
Donc, une fois le io.run() lancé, il attends bien qu'il soit terminé, et ne poursuit pas le programme... je ne vois aucunes différences, du coup, avec le t.wait du précédent exemple...
Y a qqch que je ne comprends pas? Ou fait faux?
merci.
Onet