C++11多线程编程(1)

前段时间,我在Google std::thread时,读到了网站thispointer.com的多线程入门教程,该教程通俗易懂,但又不缺乏深度,其示例代码结合了许多C++11的新的特性,比如匿名函数等(第4部分进行拓展说明)。
下面,我就按照这个教程,介绍C++11 Multithreading。

目录

  1. 多线程创建和参数传递
  2. 多线程条件竞争及其解决方法
  3. 多线程事件处理、条件变量
  4. 多线程返回值
  5. 线程池

C++11已经支持多线程,但编译时需要添加-std=c++11-pthread选项:

g++ -std=c++11 sample.cpp -pthread

如果使用CMake编译:

//CMakeLists.txt 中添加
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++11 -pthread")

头文件:<thread>