gpt4 book ai didi

C++ 在时间后调用函数或取消

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:59:20 26 4
gpt4 key购买 nike

我正在寻找一种简单的跨平台方式来在一定时间后调用一个函数,并可以选择提前终止它。

类似于 javascript 如何使用 time = window.setTimeout("alert('Hello');", 500);if(time) clearTimeout(time)

在没有任何附加(非标准)库或框架的情况下,这在基本 C++ 中是否可行?如果可以,您能给我一个正确方向的指示吗?

--

我这样做的原因是我有一个数据库查询,前几次需要 3/4 秒并为此显示一个等待光标,但是在查询被缓存并且光标闪烁后它看起来有点愚蠢/分散注意力等待然后闪烁恢复正常!

感谢您的宝贵时间!

最佳答案

调用一个函数是一个阻塞操作。我可以想出几种方法来近似您想要的行为...

时间切片:让函数执行一小段工作,逐步推进它的总体目标。您可以重复调用它直到 x 时间过去。

多线程:在另一个线程中运行函数。但是,要在线程之间同步函数的结果可能需要了解您不具备的多线程。如果你真的想在一定时间后终止操作,你可以强行关闭线程——但你可能不想这样做。您可能希望让它在它完成时完成(它不会阻塞主线程,所以它不应该惹恼用户)。

您使用的 GUI 库可能会使后面的选项变得容易,但我不知道您使用的是什么。

关于C++ 在时间后调用函数或取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12007363/

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