Например,
std::thread t1(&MessagesSender::updateMessages,all);
вы создаете поток, используя копию объекта all
.
При изменении исходный объект all
, копии которых работают с потоками, не будут изменены.
При создании потока необходимо использовать ссылку или указатель:
std::thread t1(&MessagesSender::updateMessages,&all);
Также Остерегайтесь гонок данных, вам нужно убедиться, что переменные-члены, измененные signIn
, защищены, поэтому потоки не пытаются получить к ним доступ одновременно.