linux下编译多线程程序: g++ -o 1.out 1.cpp -I$BOOST_INCLUDE -L$BOOST_LIB -lboost_thread
创建线程
• 头文件 <boost/thread/thread.hpp>
namespace boost {
class thread;
class thread_group;
}
• thread():构造一个表示当前执行线程的线程对象• explicit thread(const boost::function0<void>& threadfunc)
注:boost::function0<void>可以简单看为:一个无返回(返回void),无参数的函数。这里的函数也可以是类重载operator()构成的函数。
file: 1.cpp
#include <boost/thread/thread.hpp>
#include <iostream>
void hello()
{
std::cout<<"Hello,I am a thread!"
<<std::endl;
}
int main(int argc,char* argv[])
{
boost::thread thrd(&hello);
thrd.join();
return 0;
}
编译:
g++ -o 1.out 1.cpp -I$BOOST_INCLUDE -L$BOOST_LIB -lboost_thread
执行: ./1.out
输出: Hello,I am a thread!