Запуск потока из класса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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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