Enterprise Just Builder

Solution for Enterprise Software Architecture

C++ 11 中的多线程

文章评价: 第一个 C++ 标准发布至今已经过去十三年了,随着新的 C++11(或称 C++0X)标准的推出,C++ 标准委员会所做出的显著改变之一就是支持多线程编程。这是首次在 C++ 语言中为并行编程提供支持,而且与平台无关。 在 C++11 标准之前,编写多线程应用需要依赖于特定的平台扩展,如 Intel TBB、OpenMP、Pthreads 等等。现在有了 C++11 的标准线程库就方便了应用移植(例如 Windows 上的 C++11 多线程应用将很容易移植到 Linux 平台),另外对于熟知 Boost 线程库的用户来说,由于 C++11 标准库中许多命名与结构都和 Boost 相同,上手非常容易。1 C++11 标准库中的类可用于线程操作与同步、公用保护数据及低层次的原子操作。 C++11 标准中涉及多线程编程的主要有四个头文件,分别是:<atomic> ,<thread>,<mutex>,<condition_variable>和<future>: <atomic>: 主要声明了 std::atomic 和 std::atomic_flag,另外还声明了一套 C 风格的原子类型和原子操作函数。 <thread>: 主要声明了 std::thread 类,另外 std::this_thread 名称空间也在该头文件中。 <mutex>: 主要声明了与互斥锁(mutex)相关的类,包括 std::mutex 系列类,std::lock_guard, std::unique_lock, 以及其他类型和函数。 <condition_variable>:主要声明了与条件变量相关的类,包括 std::condition_variable […]

, , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.