Сообщение Re: COW and thread safety in Qt от 11.10.2023 12:31
Изменено 11.10.2023 15:25 andyp
Re: COW and thread safety in Qt
Здравствуйте, Skorodum, Вы писали:
S>
Проверка на моей версии qt показала:
1.После emit сигнала в текущей нитке аргумент сигнала не меняется
2.В слот в другой нитке приезжает !глубокая! копия аргумента сигнала
От debug-release не зависит. Также, не зависит от того, передаются ли аргументы в сигнал-слот по константным ссылкам или значениям.
Прошу прощения, ошибочка вышла!
]1.После emit сигнала в текущей нитке аргумент сигнала не меняется
2.В слот в другой нитке приезжает !shallow! копия аргумента сигнала. Т.е. о данных надо заботиться самому!
От debug-release не зависит. Также, не зависит от того, передаются ли аргументы в сигнал-слот по константным ссылкам или значениям.
S>
S>Делается ли deep или shallow copy и в каком потоке это делается, если emit сигнала и вызов слота происходят в разных потоках?
Проверка на моей версии qt показала:
2.В слот в другой нитке приезжает !глубокая! копия аргумента сигнала
От debug-release не зависит. Также, не зависит от того, передаются ли аргументы в сигнал-слот по константным ссылкам или значениям.
Прошу прощения, ошибочка вышла!
]1.После emit сигнала в текущей нитке аргумент сигнала не меняется
2.В слот в другой нитке приезжает !shallow! копия аргумента сигнала. Т.е. о данных надо заботиться самому!
От debug-release не зависит. Также, не зависит от того, передаются ли аргументы в сигнал-слот по константным ссылкам или значениям.
Re: COW and thread safety in Qt
Здравствуйте, Skorodum, Вы писали:
S>
Проверка на моей версии qt показала:
1.После emit сигнала в текущей нитке аргумент сигнала не меняется
2.В слот в другой нитке приезжает !глубокая! копия аргумента сигнала
От debug-release не зависит. Также, не зависит от того, передаются ли аргументы в сигнал-слот по константным ссылкам или значениям.
Прошу прощения, ошибочка вышла!
]1.После emit сигнала в текущей нитке аргумент сигнала не меняется
2.В слот в другой нитке приезжает !shallow! копия аргумента сигнала. Т.е. о данных надо заботиться самому!
От debug-release не зависит. Также, не зависит от того, передаются ли аргументы в сигнал-слот по константным ссылкам или значениям.
Т.е. как и писал в том треде — опасная это фигня.
S>
S>Делается ли deep или shallow copy и в каком потоке это делается, если emit сигнала и вызов слота происходят в разных потоках?
Проверка на моей версии qt показала:
2.В слот в другой нитке приезжает !глубокая! копия аргумента сигнала
От debug-release не зависит. Также, не зависит от того, передаются ли аргументы в сигнал-слот по константным ссылкам или значениям.
Прошу прощения, ошибочка вышла!
]1.После emit сигнала в текущей нитке аргумент сигнала не меняется
2.В слот в другой нитке приезжает !shallow! копия аргумента сигнала. Т.е. о данных надо заботиться самому!
От debug-release не зависит. Также, не зависит от того, передаются ли аргументы в сигнал-слот по константным ссылкам или значениям.
Т.е. как и писал в том треде — опасная это фигня.