
OK, I got it. By "async requests" I mean requests running concurrently, and I don't have to wait others to process available data. Am I right? Does asio use POSIX AIO in Linux implementation? I mean librt functions. How to make some other work while doing i/o operations in single threaded program? Thank you. 2007/5/25, Christopher Kohlhoff <chris@kohlhoff.com>:
On Wed, 23 May 2007 22:18:53 +0700, "Владислав Чернышов" <carter.subscribe@gmail.com> said:
Hi!
If I do something like this can I be sure that async requests will run concurrently? boost::asio::io_service io_service; client c(io_service, argv[1], argv[2]); client c1(io_service, argv[1], argv[2]); boost::thread tr1(boost::bind(&boost::asio::io_service::run, &io_service)); io_service.run(); tr1.join();
The client class is a class from boost.asio example.
What do you mean by "async requests"? With two threads calling io_service::run(), your completion handlers will be able to run concurrently. The actual asynchronous operations would run concurrently even if you only had one thread calling io_service::run().
Cheers, Chris _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost