Re: COW and thread safety in Qt
От: andyp  
Дата: 11.10.23 12:31
Оценка:
Здравствуйте, Skorodum, Вы писали:

S>

S>Делается ли deep или shallow copy и в каком потоке это делается, если emit сигнала и вызов слота происходят в разных потоках?


Проверка на моей версии qt показала:

1.После emit сигнала в текущей нитке аргумент сигнала не меняется
2.В слот в другой нитке приезжает !глубокая! копия аргумента сигнала

От debug-release не зависит. Также, не зависит от того, передаются ли аргументы в сигнал-слот по константным ссылкам или значениям.


Прошу прощения, ошибочка вышла!

]1.После emit сигнала в текущей нитке аргумент сигнала не меняется
2.В слот в другой нитке приезжает !shallow! копия аргумента сигнала. Т.е. о данных надо заботиться самому!

От debug-release не зависит. Также, не зависит от того, передаются ли аргументы в сигнал-слот по константным ссылкам или значениям.

Т.е. как и писал в том треде — опасная это фигня.
Отредактировано 11.10.2023 15:25 andyp . Предыдущая версия . Еще …
Отредактировано 11.10.2023 15:17 andyp . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.