При перемещении объекта из одного потока в другой, moveToThread() автоматически переписывает существующие прямые подключения к очереди в очереди?Передает ли moveToThread() переписывание прямых подключений к очереди в очереди?
Или другими словами: имеет ли значение, если автоматические соединения установлены до или после вызова moveToThread()?
К сожалению, ни на документацию, ни на WWW не было ответа на этот вопрос.
Я проверил неправильные детали. Я сфокусировал moveToThread() и connect() и пропустил проверку документации перечисления типа соединения, потому что я, конечно же, не ожидал, что тип соединения будет проверяться на выброс сигнала. – Silicomancer
Вы можете увидеть его в [исходном коде] (https://qt.gitorious.org/qt/qtbase/source/9754e5a03e4444a18ec7ca1525d196326ff4e038:src/corelib/kernel/qobject.cpp#L3516), если вам интересно. – thuga
Тип подключения * должен быть проверен при выделении сигнала, так как сигналы могут быть испускаемы, без резьбы, из * в любом месте *. Даже из чужих нитей. Это стандартная идиома для выдачи сигнала от обратного вызова из библиотеки C, например. Автоматический тип соединения был бы невозможным без такой проверки времени эмиссии. Хотя * слот * связан с контекстом потока объекта, сигнал отсутствует - он просто связан с списком соединений отправляющего объекта. –