История изменений
Исправление I-Love-Microsoft, (текущая версия) :
QThread my_thread;
my_class backend; // my_class - от QObject
...
backend.moveToThread(&my_thread);
my_thread.start();
...
И дальше соединяешь frontend при помощи сигнал-слотов с backend и получаешь потокобезопасное взаимодействие без усилий, если используешь Qt-шные классы и контейнеры.
Что я понимаю под «без усилий» - отсутствие мьютексов и типичных рисков, потому что в этом сценарии Qt берет всё на себя. Поправьте если ошибаюсь.
Советую обратить внимание на то что я предложил. Я очень много лет парился с потоками в Qt, пока не осознал этот простой путь, который заложили разработчики Qt, но наверное недостаточно хорошо пояснили...
P.S. Почитал, выше советуют ровно то же что и я.
Исходная версия I-Love-Microsoft, :
QThread my_thread;
my_class backend; // my_class - от QObject
...
backend.moveToThread(&my_thread);
my_thread.start();
...
И дальше соединяешь frontend при помощи сигнал-слотов с backend и получаешь потокобезопасное взаимодействие без усилий, если используешь Qt-шные классы и контейнеры.
Что я понимаю под «без усилий» - отсутствие мьютексов и типичных рисков, потому что в этом сценарии Qt берет всё на себя. Поправьте если ошибаюсь.
Советую обратить внимание на то что я предложил. Я очень много лет парился с потоками в Qt, пока не осознал этот простой путь, который заложили разработчики Qt, но наверное недостаточно хорошо пояснили...