Как уже отмечали несколько других, лучше всего подойти к этому сообщению.
Другая вещь, которую следует учитывать, - это фактическая используемая память. Передав строку между потоками, я предполагаю, что вы также передаете право собственности на строку между потоками. Это может вызвать несколько проблем, о которых вы должны знать, включая
- Утечки памяти: что происходит, если поток A публикует сообщения и, следовательно, передает права владения, но окно уничтожается до того, как поток B обрабатывает сообщение
- Может ли менеджер памяти, поддерживающий вашу строку, безопасно распределять и освобождать память в разных потоках.
Первая проблема, вероятно, имеет наибольшую вероятность повлиять на ваше приложение. Я думаю, что это хорошая причина, чтобы пересмотреть ваш оригинальный подход. До тех пор, пока сама очередь должным образом управляется, вы можете устранить утечку памяти, поскольку очередь может служить временным владельцем памяти.