线程是通过构造std::thread对象来开始的,该对象指定了线程上要运行的任务(callback或者叫线程入口函数)。
方式1 线程的入口函数是一个普普通通函数(类似于C里面的用法):
void do_some_work();
std::thread my_thread(do_some_work);
方式2 将一个仿函数类(Functor)传递给std::thread的构造函数
class background_task
{
public:
void operator()() const
{
while(1)
{
std::cout<<"Hello World!\n";
sleep(1);
}
}
background_task(const background_task& other)
{
std::cout<<"copy constructor !" << std::endl;
std::cout << "Value of this pointer: " << this << s