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:
Pour moi, cela devrait m'afficher
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Or cela m'affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 En cours ! Terminé !
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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Terminé ! En cours !
Y a qqch que je ne comprends pas? Ou fait faux?
merci.
Onet
Partager