У меня есть несколько потоков.Хочу реализовать передачу данных от одного потока к другому хочу реализовать так:Код:KProtocolThread: public QThread{public: void sendCommand( int code, const QByteArray &data );protected slots: void sendCommandImplementation( int code, const QByteArray &data );};void KProtocolThread::sendCommand( int code, const QByteArray &data ){ QMetaObject::invokeMethod( this, "sendCommandImplementation", Qt::QueuedConnection, Q_ARG( int, code ), Q_ARG( QByteArray, data ) );}Для использования, в основном потоке вызываю, thread->sendCommand (где thread указатель на экземпляр класса потока), что помещает вызов слота sendCommandImplementation в очередь событий потока.Вопросы:1. Адекватный ли это способ.2. Какие есть подводные камни?3. Очень важно. События в очереди обрабатываются в том же порядке в котором поступили или могут в произвольном?
|