gpt4 book ai didi

multithreading - 在Qt中挂起主线程

转载 作者:行者123 更新时间:2023-12-03 13:14:47 27 4
gpt4 key购买 nike

我要创建一个停止主线程并重新启动的功能,然后在几秒钟后重新启动它。我尝试了以下方法:

void Mainwindow::timeout()
{
QTimer timer;
timer.setSingleShot(true);
timer.setInterval(time*1000);
connect(&timer,SIGNAL(timeout()),MainWindow::thread(),SLOT(start()));

timer.start();

SuspendThread(MainWindow::thread());
}

不幸的是,这并没有做很多...有什么提示吗?

最佳答案

也许我正在忽略某些东西,但是“对我来说,“停止并在几秒钟后重新启动的功能”听起来像sleep()。daccess-ods.un.org daccess-ods.un.org让OS安排时间而不是重新发明轮子。

还是有什么原因不能将一些消息发布到主线程?在这个简单的用例中,甚至通过一个互斥量就足够了。从另一个线程设置互斥锁,在主线程事件循环中检查它,并可能直接调用sleep()

这也简化了调试,因为您只有一个位置,主线程会随意地进入休眠状态,而不是被其他线程动态地挂起。

关于multithreading - 在Qt中挂起主线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730821/

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