Qt_Core_AD_1 - 8BitsCoding/RobotMentor GitHub Wiki
#include <QtCore/QCoreApplication>
#include <qdebug.h>
#include <qthread.h>
#include <qdatetime.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qInfo() << "App Thread: " << a.thread();
return a.exec();
}
#include <QtCore/QCoreApplication>
#include <qdebug.h>
#include <qthread.h>
#include <qdatetime.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qInfo() << "App Thread: " << a.thread();
qInfo() << "Current Thread: " << QThread::currentThread();
Q_ASSERT(a.thread() == QThread::currentThread());
return a.exec();
}
같은 이유가 뭔가?
현재 thread가 하나기에 App thread = current thread가 된다.
#include <QtCore/QCoreApplication>
#include <qdebug.h>
#include <qthread.h>
#include <qdatetime.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qInfo() << "App Thread: " << a.thread();
qInfo() << "Current Thread: " << QThread::currentThread();
Q_ASSERT(a.thread() == QThread::currentThread());
qInfo() << "Running: " << QThread::currentThread()->isRunning();
qInfo() << "LoopLevel: " << QThread::currentThread()->loopLevel();
qInfo() << "StackSize: " << QThread::currentThread()->stackSize();
return a.exec();
}
#include <QtCore/QCoreApplication>
#include <qdebug.h>
#include <qthread.h>
#include <qdatetime.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qInfo() << "App Thread: " << a.thread();
qInfo() << "Current Thread: " << QThread::currentThread();
Q_ASSERT(a.thread() == QThread::currentThread());
qInfo() << "Running: " << QThread::currentThread()->isRunning();
qInfo() << "LoopLevel: " << QThread::currentThread()->loopLevel();
qInfo() << "StackSize: " << QThread::currentThread()->stackSize();
qInfo() << "Finished: " << QThread::currentThread()->isFinished();
qInfo() << "Before: " << QDateTime::currentDateTime().toString();
QThread::sleep(5);
qInfo() << "After: " << QDateTime::currentDateTime().toString();
return a.exec();
}