diff options
author | Jon Bergli Heier <snakebite@jvnv.net> | 2010-12-28 18:45:06 +0100 |
---|---|---|
committer | Jon Bergli Heier <snakebite@jvnv.net> | 2010-12-28 18:45:06 +0100 |
commit | 5fd3fe8704374d9ffc77e61d467e13a587d1aff9 (patch) | |
tree | da97f9c160e4bfb55720912227b9a8e789955d38 /main.cpp | |
parent | a1ba5c60d8660751f2765c8ee2cd69453bcbe5f7 (diff) |
Threaded io_service.
Diffstat (limited to 'main.cpp')
-rw-r--r-- | main.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -1,14 +1,25 @@ -#include <iostream> #include "music.h" #include "httpd.h" +#include <iostream> +#include <vector> + +#include <boost/thread.hpp> + int main(int argc, char **argv) { try { music::init(argv[1]); boost::asio::io_service io_service; HTTPServer httpd(io_service); - io_service.run(); + std::vector<boost::shared_ptr<boost::thread> > threads; + for(std::size_t i = 0; i < 10; i++) { + boost::shared_ptr<boost::thread> thread(new boost::thread(boost::bind(&boost::asio::io_service::run, &io_service))); + threads.push_back(thread); + } + for(std::size_t i = 0; i < 10; i++) { + threads[i]->join(); + } } catch(std::exception& e) { std::cerr << e.what() << std::endl; } |