Я смотрю на некоторых GitHub проектах, где один из них сделал в UDPlink следующим образом, сначала подкласс QThread создать класс UDPLink:public QThread
и его конструктор и Разрушитель, как:Правильно ли это использовать QThread?
UDPLink::UDPLink(UDPConfiguration* config)
: _socket(NULL)
, _connectState(false)
{
Q_ASSERT(config != NULL);
_config = config;
_config->setLink(this);
// We're doing it wrong - because the Qt folks got the API wrong:
// http://blog.qt.digia.com/blog/2010/06/17/youre-doing-it-wrong/
moveToThread(this);
// Set unique ID and add link to the list of links
_id = getNextLinkId();
qDebug() << "UDP Created " << _config->name();
}
UDPLink::~UDPLink()
{
// Disconnect link from configuration
_config->setLink(NULL);
_disconnect();
// Tell the thread to exit
quit();
// Wait for it to exit
wait();
this->deleteLater();
}
Хотя код скомпилировался и работал, но мне интересно, правильно ли этот способ использования QThread?