Asio Strands: Use Threads Without Explicit Locking_asio strands原理-CSDN博客

网站介绍:文章浏览阅读172次。链: 使用没有显式锁定的线程链(strand)被定义为事件处理程序的严格顺序调用(即没有并发调用)。链的使用允许在多线程程序中执行代码而不需要显式锁定(例如使用mutex)。stand可以是隐式的或者显式的,如以下替代方法所示:仅从一个线程调用io_context::run()意味着所有事件处理程序都在隐式链中执行,因为io_context保证处理程序只能从run()内部调用。如果存在与连接相关的单条异步操作链(例如,在HTTP等半双工协议实现中),则不可能同时执行处理程序,这是一条隐式链。显式_asio strands原理