У меня есть симуляция, работающая на std :: thread, которая имеет регулярные периоды спада, и в конце каждого периода QWidget::update() вызывается в моем обычном QGraphicsObject. Он работает большую часть времени, иногда вычисляя итерации 100 тыс. На сетке 1024^2, но иногда из точки QGraphicsView больше не обновляется. Я подозреваю, что проблема многопоточной связи.std :: thread security в Qt и QWidget update
Я читал, что Cocos2d-x, например, не может обрабатывать одновременные вызовы в своем API, исключая некоторые модификации свойств. Я не нашел информацию о безопасности потоков в Qt docs, некоторые говорят, что Qt Widgets не являются потокобезопасными. На самом деле QWidget :: update() является общедоступным слотом, поэтому попробую преобразовать все вызовы прямых функций в update(), чтобы испускать сигналы? Я хотел бы сделать мои потоки в чистом C++, каковы ограничения этого при работе с Qt?
(я открою новый вопрос конкретно о проблеме при использовании зОго :: нить, как это должна быть безопасным)
Самая сложная задача для создания возможных дубликатов :( Этот вопрос был поставлен 4 года назад и имеет 5383 просмотров. Я все еще не мог найти его в google после запроса «qt thread-safety», хотя это имел «qt» и «thread-safety» в своих тегах ... Hmm – MatrixAndrew