Mam klasę główną, która powiedzmy pełni rolę takiego nadzorcy. Inne klasy to są moduły, które chciałbym móc uruchamiać z klasy głównej w wątkach. (modułów jest kilka)
Tworzę w klasie głównej metodę start w której wywołuję na rzecz obiektu klasy FirstModule jej metodę start() w której chcę odpalić metodę receive() z FirstModule.
class Main() {
public:
Main() {}
virtual ~Main(){}
void start() {
first->start();
}
private:
FirstModule *first;
};
class FirstModule() {
public:
FirstModule() {
}
virtual ~FirstModule(){}
void start() {
std::thread(&FirstModule::receive, this);
first.join();
}
void receive() {
//...
}
};
Jak poprawnie to zrobić i czy:
std::thread(&FirstModule::receive, this);
jest poprawne? Czy wskaźnik this będzie wskazywał na odpowiedni obiekt, bo obecnie leci mi Segmenation Fault.