Boost logo

Boost Users :

Subject: [Boost-users] Asio io_service and Thread scheduler/executor
From: Mikael Olenfalk (mikael.olenfalk_at_[hidden])
Date: 2015-08-26 07:45:24


Hi,

I am currently thinking about how to move our project at work from a set of
specific threads (1 thread per module e.g.) and our own network library
abstraction to Boost.Asio and Boost.Thread's scheduler/executors.

Before I read about schedulers/executors I considered just using
asio::io_service (with a pool of threads calling .run()) for quick-shot
background offloading, but after looking at scheduler/executor I would
prefer using it for background work.

Does anybody have any experience how to combine boost::asio with
boost::thread's scheduler/executors?

In my preferred design I would only have one thread pool backing both asio
work and background computational tasks (e.g. using boost::async(Executor&,
F&&, ...) )

My initial gut feeling was to have a thread-pool calling
boost::asio::io_service.run() and then wrap that in an executor. I guess
what I am asking for if somebody has any previous experience to share with
this or similar approaches.

Kind regards,

/M



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net