Предположим, что 2 QThread
s работают со следующим соотношением:
connect(&Object1OfThread1, &Object1::Signal,
&Object2OfThread2, &Object2::Slot, Qt::QueuedConnection);
Таким образом, когда объект из одного потока генерирует сигнал, вызывается слот другого потока. Как обсуждалось в сигналах Qt (QueuedConnection и DirectConnection) , из-за Qt::QueuedConnection
, Signal()
публикуется / добавляется в цикл обработки событий Thread2. Когда наступает очередь, вызывается Slot()
.
Вопрос : Является ли сам цикл обработки событий потокобезопасным?
а именно Что делать, если Thread1 и Thread3 одновременно отправляют сигнал в цикл событий Thread2.