Запуск потока из классаC++

Программы на C++. Форум разработчиков
Anonymous
Запуск потока из класса

Сообщение Anonymous »

Мне нужно было создать несколько потоков на C++, и я написал это несколько лет назад. Я не уверен, почему я создал статическое приведение для создания задачи, но помню, что это был единственный способ создать поток в классе. Может ли кто-нибудь помочь мне освежить мой затуманенный мозг?
#include
#include
#include
#include "aclass.hpp"

void AClass::staticEntryPoint(void * c)
{
return ((AClass *) c)->AClassThread();
}

void AClass::AClassThread(void)
{
while (!Global::g_terminate_all && !_terminate_me)
{
// thread task here
std::this_thread::sleep_for(std::chrono::milliseconds(10));
}
}

AClass::AClass(void)
{
bool _terminate_me = false;

std::thread txrxthreadObj(staticEntryPoint, this);
txrxthreadObj.detach();
}

AClass::~AClass(void)
{
_terminate_me = true;
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... in-a-class

Вернуться в «C++»