Qt 在一个单独的线程中处理槽

时间:2021-04-26 17:53:05

标签: c++ multithreading qt

我想实现一种机制,其中插槽将在单独的线程中处理。显然这样的实现是行不通的,我需要一种方法来防止函数完成,同时仍然能够接收信号。如何实施?

void connect() {
    t_ = std::thread(&myclass::start, this);
    }
    

void start() { 

QTcpSocket *socket = new QTcpSocket;

QObject::connect(
          socket, &QAbstractSocket::connected, this,
          [this]() {
            //do1()
          },
          Qt::DirectConnection);

QObject::connect(
          socket, &QAbstractSocket::disconnected, this,
          [this]() {
            //do2()
          },
          Qt::DirectConnection);

QObject::connect(
          socket, &QAbstractSocket::readyRead, this,
          [this]() {
            //do3()
          },
          Qt::DirectConnection);
    
    }

0 个答案:

没有答案
相关问题