0
我想讓一個線程回調一個創建線程的對象的函數。但它似乎不可能通過「this」作爲參數。有沒有辦法來實現這個?提前致謝。C++ Boost:來自父線程的調用函數
Helper.cpp
void Helper::ProcessSomething(void (*callback)(void))
{
boost::this_thread::sleep(boost::posix_time::seconds(1));
callback();
}
SomeClass.cpp
void SomeClass::Start(void)
{
Helper *helper = Helper();
boost::thread t(&Helper::ProcessSomething, helper, &this->SomeCallback);
t.join();
}
void SomeClass::SomeCallback(void)
{
std::cout << "Callback called" << std::endl;
}