gpt4 book ai didi

pthreads - sleep 表现

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

我正在用 C++ 开发一个程序,我必须实现一个 cron。由于不同的原因,这个 cron 应该每小时和每 24 小时执行一次。我的第一个想法是创建一个独立的 pthread 并在每次 1h 内休眠。这样对吗?我的意思是,让线程睡着而不是醒着真的有效吗?线程 sleep 有哪些不便之处?

最佳答案

我倾向于让这样的任务通过 cron/scheduler 运行,因为它以预定的时间间隔运行,而不是响应某些环境事件。所以程序应该只是“做”它需要做的事情,然后根据需要由操作系统执行。这也使得更改执行频率变得容易——只需更改调度,而不需要重新构建应用程序或暴露额外的可配置性。

也就是说,如果你真的、真的想要那样做,你可能不会整整一个小时都睡不着;您会在更短的时间范围内(可能是五分钟,或任何看起来合适的时间) sleep ,并有一个变量来保持“上次运行”时间,以便您知道何时再次运行。

就线程结束休眠的时间而言,Sleep() 调用通常不会特别准确;这取决于哪些其他线程有任务等待等。

关于pthreads - sleep 表现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3750812/

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