Я провел некоторое исследование по этой теме. thread в SO также заинтересовал меня, и я хотел обобщить свое понимание и исправить, если я ошибаюсь по определенному пути, а также хотел знать, как будет работать QueuedConnection.QT Является слотом, запущенным в отдельной теме
Это мое понимание, за которым следует вопрос. Сигналы могут быть подключены вручную к слотам в основном двумя разными способами. Первый способ заключается в использовании прямого соединения, а второй способ - в очереди. В случае прямого соединения, если метод слота, который прикреплен к сигналу, находится в одном и том же потоке, тогда метод слота называется последовательно (как если бы это был просто еще один метод), однако, если слот находится в другом потоке, откуда сигнал , то QueuedConnection запустит его, когда он сочтет это уместным. (Теперь в этом случае я не уверен, что он запустит новый поток или как это будет продолжаться при этом)
Спасибо за объяснение, не могли бы вы объяснить, что вы подразумеваете под объектами? – Rajeshwar
Сродство к потоку объекта, вообще говоря, представляет собой поток, в котором будут работать его методы (при вызове через диспетчер событий объекта). Например. если вы вызываете 'myObject.moveToThread (myThread)', тогда любой метод, который вызывается на этом объекте * через сигналы/слоты *, будет выполняться в 'myThread', НЕ в потоке, из которого было создано событие. Таким образом, сигналы/слоты могут использоваться, чтобы объекты сообщали друг другу о вещах через «границы потоков». – CmdrMoozy
", из которого было создано событие. - Я бы избегал здесь термина« событие », так как его можно было смутить с системой событий Qt, с которой не нужно ничего делать. –