You could use boost::asio::spawn() (utilizes stackful coroutines). Am Di., 13. Aug. 2024 um 12:20 Uhr schrieb Thomas Fowlery via Boost < boost@lists.boost.org>:
Hi all,
I'm planning to start working on a new Web3 project and I'm trying to decide how I should approach doing concurrency with C++ and Boost.
It seems like using callback-passing style with Asio has been pretty popular historically. However, having worked with other modern languages with first-class async support, this feels a bit primitive.
I've heard about C++20 coroutines and it seems like Boost has a library for it (Cobalt). However, it's relatively new, so I'm curious if anyone had experience with it and is it mature for production. I see that Asio also has coroutine support, so what's the difference?
The third option I'm considering is using fibers. I like this option in principle because the resulting code is very clean and looks like normal synchronous code. However, I haven't seen many big examples/projects using Boost.Fiber with Boost.Asio. Is this something people are doing out in the wild? Does Asio support Fibers well?
Best regards, Thomas
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost