1 g++编译器的选择
有多个版本的C++编译器,包括:mingw,tdm-mingw等,但版本相对更新慢或者未提供openmp、thread库。
经测试,选择http://code.google.com/p/mingw-builds/下的编译器,下载链接:http://mingw-builds.googlecode.com/files/x86_64-mingw32-gcc-4.7.0-release-c%2Cc%2B%2B%2Cfortran-sjlj.zip。
解压缩到d:下。
2 测试程序
#include <thread>
#include <iostream>
#include <vector>
void hello(){
std::cout << "Hello from thread " << std::this_thread::get_id() << std::endl;
}
int main(){
std::vector<std::thread> threads;
for(int i = 0; i < 5; ++i){
threads.push_back(std::thread(hello));
}
for(auto& thread : threads){
thread.join();
}
return 0;
}
3 编译
g++ -std=c++11 test.cpp
4 结果
Hello from thread Hello from thread 6Hello from thread 5Hello from thread 3
2Hello from thread
4
测试通过!