转自:http://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-3.html
是个just的c++库。和c11很像。
- 用成员函数来作线程函数,需要传入额外的对象值。如果需要传入参数,接在头两个参数后面。
- 用引用而不同拷贝对象,需要调用 std::ref
-
123456789101112131415161718
#include <thread>
#include <iostream>
class
SayHello
{
public
:
void
greeting(std::string
const
& message)
const
{
std::cout<<message<<std::endl;
}
};
int
main()
{
SayHello x;
std::
thread
t(&SayHello::greeting,&x,
"goodbye"
);
t.join();
}
-
-
123456
int
main()
{
std::shared_ptr<SayHello> p(
new
SayHello);
std::
thread
t(&SayHello::greeting,p,
"goodbye"
);
t.join();
}