gpt4 book ai didi

c++ - QThreadPool 奇怪的异常

转载 作者:行者123 更新时间:2023-11-28 06:46:57 32 4
gpt4 key购买 nike

我正在“搞乱”线程池,我注意到一个奇怪的异常。所以我在这里问你:我是否正确使用了这个对象?或者您认为这只是一个错误或一个虚拟警告?这里是。我用 QThreadPool 实现了一个基本示例(它与文档中的示例几乎相同:http://qt-project.org/doc/qt-4.8/thread-basics.html#example-1-using-the-thread-pool)。

#include <QCoreApplication>
#include <QTimer>
#include <QRunnable>
#include <QThreadPool>
#include <QDebug>
class Work : public QRunnable
{
public:
void run()
{
qDebug() << "Hello from thread " << QThread::currentThread();
}
};

int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
Work work;
work.setAutoDelete(false);
QThreadPool *threadPool = QThreadPool::globalInstance();
threadPool->start(&work);
qDebug() << "hello from GUI thread " << QThread::currentThread();
threadPool->waitForDone();
QTimer::singleShot(3000, &app, SLOT(quit()));
return app.exec();
}

如果我在状态栏中启动调试器,它会显示诸如“正在运行”和“调试器已完成”之类的消息。它告诉我:

Exception at 0x75f6812f, code: 0x406d1388: Startup complete, flags 0x0 (first chance) in KERNELBASE!RaiseException

该程序可以运行,因为它写入了正确的内容并且不会挂起,但该消息对我来说很奇怪。

我做错了什么吗?

谢谢

最佳答案

这是第一次机会异常(exception)。它显然被代码捕获并处理了,否则你的应用程序就会崩溃。所以这不是问题。

关于c++ - QThreadPool 奇怪的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24800954/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com