ubuntu 14.04
###代码hi.cpp:
#include <iostream>
#include <thread>
void foo()
{
std::cout << "i am foo!" <<std::endl;
}
void bar(int x)
{
std::cout << "i am bar! x = " << x <<std::endl;
}
int main()
{
std::cout << "启动" <<std::endl;
std::thread first (foo); // spawn new thread that calls foo()
std::thread second (bar,0); // spawn new thread that calls bar(0)
std::cout << "main, foo and bar now execute concurrently..." <<std::endl;
// synchronize threads:
first.join(); // pauses until first finishes
second.join(); // pauses until second finishes
std::cout << "foo and bar completed." <<std::endl;
return 0;
}
###命令行下编译和运行:
letian $ g++ hi.cpp -o hi.out -pthread -std=c++11
letian $ ./hi.out
启动
i am foo!
main, foo and bar now execute concurrently...
i am bar! x = 0
foo and bar completed.
###Code block下编译 先配置codeblock,菜单->Settings->Compiler,添加“-pthread”:
执行结果:
启动
i am foo!
main, foo and bar now execute concurrently...
i am bar! x = 0
foo and bar completed.
###资料 http://www.cplusplus.com/reference/thread/thread/
http://stackoverflow.com/questions/17274032/c-threads-stdsystem-error-operation-not-permitted
gcc指定头文件路径及动态链接库路径
Using libraries with Code::Blocks