首页 > 解决方案 > 出于什么目的需要来自 Boost 库的同步原语和容器?

问题描述

如果项目使用已经有容器和同步原语的 C++ 11/14/17,出于什么目的需要来自 Boost 库的同步原语和容器?

我知道 Boost.asio 通常用于与网络一起工作,Boost.spirit - 通常用于解析文本。你知道Boost其他部分的通常用途吗?

这个问题来自 C++ 面试。

标签: c++boostc++17

解决方案


BoostC++ 11 更早,所以在它们达到标准之前就存在许多同步原语。这是可行的,因为操作系统已经包含线程和同步功能,因此 boost 可以环绕它们。

也就是说,此时 C++ 标准允许微不足道的线程/同步。对于普通的 C++ 开发人员来说已经足够了。在复杂的同步场景中,您可能需要一些增强型库,甚至是依赖于操作系统的 API,例如在 Windows 中,WaitForMultipleObjects()。


推荐阅读