gpt4 book ai didi

multithreading - QThread 事件循环和无限工作循环

转载 作者:行者123 更新时间:2023-12-04 18:09:40 27 4
gpt4 key购买 nike

我需要在一个线程中进行无限循环。
this article作者写道

 >you should never ever block the event loop

因为它会阻塞信号槽概念。如何在 QThread 中使用事件循环和无限循环?

最佳答案

一个循环总是可以用一个被多次调用的函数来代替(虽然它并不总是很方便)。创建一个槽并连接一个 QTimer到它。让函数完成工作的迭代。

timer = new QTimer();
connect(timer, SIGNAL(timeout()), this, SLOT(iteration()));
timer->start(50);

void MyClass::iteration() {
if (!timer->isActive()) { return; }
//do something
}

如果您想停止循环,请调用 timer->stop() .

关于multithreading - QThread 事件循环和无限工作循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17514890/

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