История изменений
Исправление slovazap, (текущая версия) :
Зачем так сложно?
class myclass {
volatile bool exitflag = false;
std::map<std::string, std::string> map;
std::thread thread;
public:
myclass() : thread([this]() {
while (!exitflag) {
std::cerr << "processing" << std::endl;
}
std::cerr << "done" << std::endl;
}) {
}
~myclass() {
exitflag = true;
thread.join();
}
};
Ну и да, естественно в реальном приложении вместо busyloop нужна condition variable, тогда и volatile можно будет убрать.
Исходная версия slovazap, :
Зачем так сложно?
class myclass {
volatile bool exitflag = false;
std::map<std::string, std::string> map;
std::thread thread;
public:
myclass() : thread([this]() {
while (!exitflag) {
std::cerr << "processing" << std::endl;
}
std::cerr << "done" << std::endl;
}) {
}
~myclass() {
exitflag = true;
thread.join();
}
};
Ну и да, естественно вместо busyloop нужна condition variable, тогда volatile можно будет убрать.