一、并行编程
以下库支持并行编程模型。
- Boost.Thread 允许您创建和管理自己的线程。
- Boost.Atomic 允许您通过多个线程的原子操作访问整数类型的变量。
- Boost.Lockfree 提供线程安全的容器。
- Boost.MPI 起源于超级计算机领域。使用 Boost.MPI,您的程序可以多次启动并在多个进程中执行。您专注于对应该并发执行的实际任务进行编程,而 Boost.MPI 会协调这些过程。使用 Boost.MPI,您无需处理诸如同步访问共享数据之类的细节。但是,Boost.MPI 确实需要适当的运行时环境。
二、生成何管理Threads
这个库中最重要的类是 boost::thread,它在 boost/thread.hpp 中定义。此类用于创建新线程。示例 44.1 是一个创建线程的简单示例。
例 44.1。使用 boost::thread
#include <boost/thread.hpp>
#include <boost/chrono.hpp>
#include <iostream>
void wait(int seconds)
{
boost::this_thread::sleep_for(boost::chrono::seconds{seconds});
}
void thread()
{
for