标签: c++ multithreading asynchronous boost
如何在幕后实现Boost.Asio等异步I / O库?
我想知道这些异步库是如何实现的。我对 Windows API 有点熟悉,但没有注意到任何标记为异步的特定API调用。
异步功能是否在操作系统API之上的代码中实现,如果是,那么这是如何完成的?或者库只是调用异步API操作吗?
我知道事件循环和处理回调执行的I / O线程的概念。是否可以为每个异步操作生成一个线程,等待{strong>同步操作如socket.recv()完成,然后执行提供的回调?
socket.recv()